标签分类
当前位置:首页 > 程序设计电子书 > PyTorch电子书网盘下载
PyTorch深度学习

PyTorch深度学习 原书超清版电子书

官方价: 24.99

更 新:

PyTorch深度学习 PDF 下载

下载地址:https://pan.baidu.com/s/1E9BJwSijJqPAGQLeamPD0

分享码:y427

给大家带来的一篇关于PyTorch相关的电子书资源,介绍了关于PyTorch学习、PyTorch方面的内容,本书是由人民邮电出版社出版,格式根据源资源分为PDF、epub、mobi、azw3其中一种或多种格式,资源大小28 MB,毗湿奴·布拉马尼编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.7,更多相关的学习资源可以参阅 程序设计电子书Python电子书、等栏目。

PyTorch深度学习 PDF

深度学习为全世界的智能控制系统(例如Google Voice、Siri和Alexa)出示了驱动力。随之硬件配置(如GPU)和手机软件架构(如PyTorch、Keras、TensorFlow和CNTK)的发展及其互联网大数据的易用性,大家在文字、視覺和剖析等行业更非常容易执行相对难题的解决方法。 这书对现如今最前沿的深度学习库PyTorch开展了解读。

凭着其易懂生长习性、精确性及其与Python开发设计的纯天然亲密接触性,PyTorch得到了深度学习科学研究工作人员及其大数据工程师们的关心。这书从PyTorch的安裝说起,随后详细介绍了为当代深度学习出示推动力的好几个基本控制模块,还详细介绍了应用CNN、RNN、LSTM及其别的互联网实体模型解决困难的方式。

这书对好几个优秀的深度学习构架的定义(例如ResNet、DenseNet、Inception和Seq2Seq)开展了论述,但沒有深入分析其身后的数学课关键点。与GPU测算有关的专业知识、应用PyTorch训炼实体模型的方式,及其用于转化成文字和图象的繁杂神经元网络(如转化成互联网),也在这书中进而包含。 学好这书后,用户能够应用PyTorch轻轻松松开发设计深度学习手机应用程序。 这书內容: 在GPU加快的张量测算中应用PyTorch; 为图象自主建立uci数据集和统计数据装车器,随后应用torchvision和torchtext检测实体模型; 应用PyTorch来保持CNN构架,进而搭建图象分类器; 应用RNN、LSTM和GRU开发设计能开展文本分类和語言模型的系统软件; 学习培训的CCN构架(例如ResNet、Inception、DenseNet等),并将其运用在迁移学习中; 学习培训怎样混和好几个实体模型,进而转化成1个强劲的集成化实体模型; 应用GAN转化成新图象,并应用设计风格转移转化成造型艺术图象。

PyTorch是Facebook于2017年末在深度学习和科学计算小工具Torch的基本上,对于Python語言公布的1个全新升级的深度学习工具包,一旦发布便遭受了业内的普遍关心和探讨,现阶段早已变成深度学习从业者的产品研发小工具。 《PyTorch深度学习》是应用PyTorch搭建神经网络模型的好用手册,內容分成9章,包含PyTorch与深度学习的基本知识、神经元网络的组成、神经元网络的专业知识、深度学习基本知识、深度学习在计算机视觉中的运用、深度学习在编码序列统计数据和文字中的运用、转化成互联网、当代网络结构,及其PyTorch与深度学习的将来迈向。 《PyTorch深度学习》合适对深度学习行业很感兴趣且期待一探PyTorch的业界工作人员阅读文章;具有别的深度学习架构应用工作经验的用户,还可以根据这书把握PyTorch的使用方法。

目录

  • 第1章 PyTorch与深度学习1
  • 1.1 人工智能 1
  • 1.2 机器学习 3
  • 1.3 深度学习 4
  • 1.3.1 深度学习的应用 4
  • 1.3.2 深度学习的浮夸宣传 6
  • 1.3.3 深度学习发展史 6
  • 1.3.4 为何是现在 7
  • 1.3.5 硬件可用性 7
  • 1.3.6 数据和算法 8
  • 1.3.7 深度学习框架 9
  • 1.4 小结 10
  • 第 2章 神经网络的构成 11
  • 2.1 安装PyTorch 11
  • 2.2 实现第 一个神经网络 12
  • 2.2.1 准备数据 13
  • 2.2.2 为神经网络创建数据 20
  • 2.2.3 加载数据 24
  • 2.3 小结 25
  • 第3章 深入了解神经网络 26
  • 3.1 详解神经网络的组成部分 26
  • 3.1.1 层—神经网络的基本组成 27
  • 3.1.2 非线性激活函数 29
  • 3.1.3 PyTorch中的非线性激活函数 32
  • 3.1.4 使用深度学习进行图像分类 36
  • 3.2 小结 46
  • 第4章 机器学习基础 47
  • 4.1 三类机器学习问题 47
  • 4.1.1 有监督学习 48
  • 4.1.2 无监督学习 48
  • 4.1.3 强化学习 48
  • 4.2 机器学习术语 49
  • 4.3 评估机器学习模型 50
  • 4.4 数据预处理与特征工程 54
  • 4.4.1 向量化 54
  • 4.4.2 值归一化 54
  • 4.4.3 处理缺失值 55
  • 4.4.4 特征工程 55
  • 4.5 过拟合与欠拟合 56
  • 4.5.1 获取更多数据 56
  • 4.5.2 缩小网络规模 57
  • 4.5.3 应用权重正则化 58
  • 4.5.4 应用dropout 58
  • 4.5.5 欠拟合 60
  • 4.6 机器学习项目的工作流 60
  • 4.6.1 问题定义与数据集创建 60
  • 4.6.2 成功的衡量标准 61
  • 4.6.3 评估协议 61
  • 4.6.4 准备数据 62
  • 4.6.5 模型基线 62
  • 4.6.6 大到过拟合的模型 63
  • 4.6.7 应用正则化 63
  • 4.6.8 学习率选择策略 64
  • 4.7 小结 65
  • 第5章 深度学习之计算机视觉 66
  • 5.1 神经网络简介 66
  • 5.2 从零开始构建CNN模型 69
  • 5.2.1 Conv2d 71
  • 5.2.2 池化 74
  • 5.2.3 非线性激活—ReLU 75
  • 5.2.4 视图 76
  • 5.2.5 训练模型 77
  • 5.2.6 狗猫分类问题—从零开始构建CNN 80
  • 5.2.7 利用迁移学习对狗猫分类 82
  • 5.3 创建和探索VGG16模型 84
  • 5.3.1 冻结层 85
  • 5.3.2 微调VGG16模型 85
  • 5.3.3 训练VGG16模型 86
  • 5.4 计算预卷积特征 88
  • 5.5 理解CNN模型如何学习 91
  • 5.6 CNN层的可视化权重 94
  • 5.7 小结 95
  • 第6章 序列数据和文本的深度学习 96
  • 6.1 使用文本数据 96
  • 6.1.1 分词 98
  • 6.1.2 向量化 100
  • 6.2 通过构建情感分类器训练词向量 104
  • 6.2.1 下载IMDB数据并对文本分词 104
  • 6.2.2 构建词表 106
  • 6.2.3 生成向量的批数据 107
  • 6.2.4 使用词向量创建网络模型 108
  • 6.2.5 训练模型 109
  • 6.3 使用预训练的词向量 110
  • 6.3.1 下载词向量 111
  • 6.3.2 在模型中加载词向量 112
  • 6.3.3 冻结embedding层权重 113
  • 6.4 递归神经网络(RNN) 113
  • 6.5 LSTM 117
  • 6.5.1 长期依赖 117
  • 6.5.2 LSTM网络 117
  • 6.6 基于序列数据的卷积网络 123
  • 6.7 小结 125
  • 第7章 生成网络 126
  • 7.1 神经风格迁移 126
  • 7.1.1 加载数据 129
  • 7.1.2 创建VGG模型 130
  • 7.1.3 内容损失 131
  • 7.1.4 风格损失 131
  • 7.1.5 提取损失 133
  • 7.1.6 为网络层创建损失函数 136
  • 7.1.7 创建优化器 136
  • 7.1.8 训练 137
  • 7.2 生成对抗网络(GAN) 138
  • 7.3 深度卷机生成对抗网络 139
  • 7.3.1 定义生成网络 140
  • 7.3.2 定义判别网络 144
  • 7.3.3 定义损失函数和优化器 145
  • 7.3.4 训练判别网络 145
  • 7.3.5 训练生成网络 146
  • 7.3.6 训练整个网络 147
  • 7.3.7 检验生成的图片 148
  • 7.4 语言建模 150
  • 7.4.1 准备数据 151
  • 7.4.2 生成批数据 152
  • 7.4.3 定义基于LSTM的模型 153
  • 7.4.4 定义训练和评估函数 155
  • 7.4.5 训练模型 157
  • 7.5 小结 159
  • 第8章 现代网络架构 160
  • 8.1 现代网络架构 160
  • 8.1.1 ResNet 160
  • 8.1.2 Inception 168
  • 8.2 稠密连接卷积网络(DenseNet) 175
  • 8.2.1 DenseBlock 175
  • 8.2.2 DenseLayer 176
  • 8.3 模型集成 180
  • 8.3.1 创建模型 181
  • 8.3.2 提取图片特征 182
  • 8.3.3 创建自定义数据集和数据加载器 183
  • 8.3.4 创建集成模型 184
  • 8.3.5 训练和验证模型 185
  • 8.4 encoder-decoder架构 186
  • 8.4.1 编码器 188
  • 8.4.2 解码器 188
  • 8.5 小结 188
  • 第9章 未来走向 189
  • 9.1 未来走向 189
  • 9.2 回顾 189
  • 9.3 有趣的创意应用 190
  • 9.3.1 对象检测 190
  • 9.3.2 图像分割 191
  • 9.3.3 PyTorch中的OpenNMT 192
  • 9.3.4 Allen NLP 192
  • 9.3.5 fast.ai—神经网络不再神秘 192
  • 9.3.6 Open Neural Network Exchange 192
  • 9.4 如何跟上前沿 193
  • 9.5 小结 193

上一篇:Django企业开发实战:高效Python Web框架指南  下一篇:少博士趣学Python

展开 +

收起 -

PyTorch 相关电子书
PyTorch 学习笔记
网友NO.204425

详解PyTorch批训练及优化器比较

本篇文章主要介绍了详解PyTorch批训练及优化器比较,详细的介绍了什么是PyTorch批训练和PyTorch的Optimizer优化器,非常具有实用价值,需要的朋友可以参考下 一、PyTorch批训练 1. 概述 PyTorch提供了一种将数据包装起来进行批训练的工具——DataLoader。使用的时候,只需要将我们的数据首先转换为torch的tensor形式,再转换成torch可以识别的Dataset格式,然后将Dataset放入DataLoader中就可以啦。 import torch import torch.utils.data as Data torch.manual_seed(1) # 设定随机数种子 BATCH_SIZE = 5 x = torch.linspace(1, 10, 10) y = torch.linspace(0.5, 5, 10) # 将数据转换为torch的dataset格式 torch_dataset = Data.TensorDataset(data_tensor=x, target_tensor=y) # 将torch_dataset置入Dataloader中 loader = Data.DataLoader( dataset=torch_dataset, batch_size=BATCH_SIZE, # 批大小 # 若dataset中的样本数不能被batch_size整除的话,最后剩余多少就使用多少 shuffle=True, # 是否随机打乱顺序 num_workers=2, # 多线程读取数据的线程数 ) for epoch in range(3): for step, (batch_x, batch_y) in enumerate(loader): print('Epoch:', epoch, '|Step:', step, '|batch_x:', batch_x.numpy(), '|batch_y', batch_y.numpy()) ''''' shuffle=True Epoch: 0 |Step: 0 |batch_x: [ 6. 7. 2. 3. 1.] |batch_y [ 3. 3.5 1. 1.5 0.5] Epoch: 0 |Step: 1 |batch_x: [ 9. 10. 4. 8. 5.] |batch_y [ 4.5 5. 2. 4. 2.5] Epoch: 1 |Step: 0 |batch_x: [ 3. 4. 2. 9. 10.] |batch_y [ 1.5 2. 1……

网友NO.138562

pytorch使用Variable实现线性回归

本文实例为大家分享了pytorch使用Variable实现线性回归的具体代码,供大家参考,具体内容如下 一、手动计算梯度实现线性回归 #导入相关包import torch as timport matplotlib.pyplot as plt #构造数据def get_fake_data(batch_size = 8): #设置随机种子数,这样每次生成的随机数都是一样的 t.manual_seed(10) #产生随机数据:y = 2*x+3,加上了一些噪声 x = t.rand(batch_size,1) * 20 #randn生成期望为0方差为1的正态分布随机数 y = x * 2 + (1 + t.randn(batch_size,1)) * 3 return x,y #查看生成数据的分布x,y = get_fake_data()plt.scatter(x.squeeze().numpy(),y.squeeze().numpy()) #线性回归 #随机初始化参数w = t.rand(1,1)b = t.zeros(1,1)#学习率lr = 0.001 for i in range(10000): x,y = get_fake_data() #forward:计算loss y_pred = x.mm(w) + b.expand_as(y) #均方误差作为损失函数 loss = 0.5 * (y_pred - y)**2 loss = loss.sum() #backward:手动计算梯度 dloss = 1 dy_pred = dloss * (y_pred - y) dw = x.t().mm(dy_pred) db = dy_pred.sum() #更新参数 w.sub_(lr * dw) b.sub_(lr * db) if i%1000 == 0: #画图 plt.scatter(x.squeeze().numpy(),y.squeeze().numpy()) x1 = t.arange(0,20).float().view(-1,1) y1 = x1.mm(w) + b.expand_as(x1) plt.plot(x1.numpy(),y1.numpy()) #predicted plt.show() #plt.pause(0.5) print(w.squeeze(),b.squeeze()) 显示的最后一张图如下所示: 二、自动梯度 计算梯度实现线性回归 #导入相关包import torch as tfrom torch.autograd import Variable as ……

网友NO.528082

PyTorch线性回归和逻辑回归的相关实例知识点

线性回归实战 使用PyTorch定义线性回归模型一般分以下几步: 1.设计网络架构 2.构建损失函数(loss)和优化器(optimizer) 3.训练(包括前馈(forward)、反向传播(backward)、更新模型参数(update)) #author:yuquanle#data:2018.2.5#Study of LinearRegression use PyTorchimport torchfrom torch.autograd import Variable# train datax_data = Variable(torch.Tensor([[1.0], [2.0], [3.0]]))y_data = Variable(torch.Tensor([[2.0], [4.0], [6.0]]))class Model(torch.nn.Module): def __init__(self): super(Model, self).__init__() self.linear = torch.nn.Linear(1, 1) # One in and one out def forward(self, x): y_pred = self.linear(x) return y_pred# our modelmodel = Model()criterion = torch.nn.MSELoss(size_average=False) # Defined loss functionoptimizer = torch.optim.SGD(model.parameters(), lr=0.01) # Defined optimizer# Training: forward, loss, backward, step# Training loopfor epoch in range(50): # Forward pass y_pred = model(x_data) # Compute loss loss = criterion(y_pred, y_data) print(epoch, loss.data[0]) # Zero gradients optimizer.zero_grad() # perform backward pass loss.backward() # update weights optimizer.step()# After traininghour_var = Variable(torch.Tensor([[4.0]]))print(predict (after training), 4, model.forward(hour_var).data[0][0]) 迭代十次打印结果: 0 123.87958526611328 1 55.19491195678711 2 24.61777114868164 3 11.005026817321777 4 4.944361686706543 5 2.2456750869750977 6 1.0436556339263916 7 0.5079189538955688 8 0.2688019871711731 9 0.16174……

网友NO.738937

对pytorch网络层结构的数组化详解

最近再写openpose,它的网络结构是多阶段的网络,所以写网络的时候很想用列表的方式,但是直接使用列表不能将网络中相应的部分放入到cuda中去。 其实这个问题很简单的,使用moduleList就好了。 1 我先是定义了一个函数,用来根据超参数,建立一个基础网络结构 stage = [[3, 3, 3, 1, 1], [7, 7, 7, 7, 7, 1, 1]]branches_cfg = [[[128, 128, 128, 512, 38], [128, 128, 128, 512, 19]], [[128, 128, 128, 128, 128, 128, 38], [128, 128, 128, 128, 128, 128, 19]]]# used for add two branches as well as adapt to certain stagedef add_extra(i, branches_cfg, stage): """ only add CNN of brancdes S out :param stage: size of filter :param branches_cfg: channels of image :return:list of layers """ in_channels = i layers = [] for k in range(len(stage)): padding = stage[k] // 2 conv2d = nn.Conv2d(in_channels, branches_cfg[k], kernel_size=stage[k], padding=padding) layers += [conv2d, nn.ReLU(inplace=True)] in_channels = branches_cfg[k] return layers 2 然后用普通列表装载他们 conf_bra_list = []paf_bra_list = []# param for branch networkin_channels = 128for i in range(all_stage): if i 0: branches = branches_cfg[1] conv_sz = stage[1] else: branches = branches_cfg[0] conv_sz = stage[0] conf_bra_list.append(nn.Sequential(*add_extra(in_channels, branches[0], conv_sz))) paf_bra_list.append(nn.Sequential(*add_extra(in_channels, branches[1], conv_sz))) in_channels = 185 3 再然后,使用moduleList方法,把普通列……

linuxwindowsios

linuxwindowsios 发起

资源
47
粉丝
16
喜欢
383
评论
16

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明