《深入浅出 PyTorch——从模型到源码》源代码
共 4726字,需浏览 10分钟
·
2021-10-26 05:35
向AI转型的程序员都关注了这个号👇👇👇
机器学习AI算法工程 公众号:datayx
要学习深度学习,除了学习深度学习的相关理论知识,还要学习各大框架的使用方法。作为深度学习模型的载体,现在实现深度学习的框架主要有Tensorflow和PyTorch,还有一些其他框架如mxnet、CNTK和Chainer等。而PyTorch自2016年10月首次对外发布以来,仅花了两年时间就可以和Tensorflow分庭抗礼,这与PyTorch的高性能和易用性是分不开的。截止2019年为止,深度学习的主要会议如NIPS、ICCV、CVPR、ICML等都有50%~80%的会议论文使用了PyTorch,这也说明了PyTorch的简明易用、高性能等特点吸引了大量学术界的用户。
现在市面上讲解PyTorch的入门级书已经有了很多,这些书分别从安装、使用和简单示例角度入手讲解PyTorch,其优点是通俗易懂,但还是缺少一些从底层模块角度讲解PyTorch内容的书来帮助读者进一步了解并用好PyTorch。而本书最大的优点就是囊括了PyTorch的常用模块,并给模块配备了不同使用方法的代码和代码背后的底层模块如何实现的逻辑,以便引导用户入门PyTorch后继续探索PyTorch的各种用法,进而提升科研和工作效率。除此以外,本书还囊括了近几年学术界和工业界都很常用的诸多热门模型,如SSD、FCN、GAN、LSTM和BERT等的PyTorch实现,省去了读者去网上搜索相关实现的烦琐。本书最后专门介绍了PyTorch的一些高级使用方法,例如,如何编写算子和自动求导机制,这可以帮助对PyTorch有进一步开发需求的研究者和学习者开发需要的算子。
项目 代码 获取方式:
关注微信公众号 datayx 然后回复 pytorch 即可获取。
1. 第一章 深度学习概念简介
2. 第二章 PyTorch 深度学习框架简介
代码2.1 PyTorch软件包的导入和测试
代码2.2 安装PyTorch的依赖关系
代码2.3 PyTorch编译命令
代码2.4 Python列表和Numpy数组转换为PyTorch张量
代码2.5 指定形状生成张量
代码2.6-2.7 指定形状生成张量
代码2.8 PyTorch在不同设备上的张量
代码2.9 PyTorch张量形状相关的一些函数
代码2.10 PyTorch张量的切片和索引
代码2.11 PyTorch张量的函数运算
代码2.12 PyTorch张量的四则运算
代码2.13 PyTorch极值和排序的函数
代码2.14 PyTorch张量的矩阵乘法运算
代码2.15 torch.einsum函数的使用
代码2.16 张量的拼接和分割
代码2.17 张量维度扩增和压缩
代码2.18 张量的广播
代码2.19 PyTorch模块类的构建方法
代码2.20 PyTorch线性回归模型示例
代码2.21 PyTorch线性回归模型调用方法实例
代码2.22 PyTorch模块方法调用实例
代码2.23 反向传播函数测试代码
代码2.24 梯度函数的使用方法
代码2.25 控制计算图产生的方法示例
代码2.26 损失函数模块的使用方法
代码2.27 简单线性回归函数和优化器
代码2.28 PyTorch优化器对不同参数指定不同的学习率
代码2.29 PyTorch学习率衰减类示例
代码2.30 torch.utils.data.DataLoader类的签名
代码2.31 torch.untils.data.Dataset类的构造方法
代码2.32 简单torch.utils.data.Dataset类的实现
代码2.33 torch.utils.data.IterableDataset类的构造方法
代码2.34 PyTorch保存和载入模型
代码2.35 PyTorch的状态字典的保存和载入
代码2.36 PyTorch检查点的结构
代码2.37 TensorBoard使用方法示例
代码2.38 SummaryWriter提供的添加数据显示的方法
代码2.39 torch.nn.DataParallel使用方式
代码2.40 PyTorch分布式进程启动函数
代码2.41 多进程训练模型的数据载入
代码2.42 分布式数据并行模型的API
代码2.43 分布式数据并行模型训练时的输出
3. 第三章 PyTorch 计算机视觉模块
代码3.1-3.3 线性层的定义和使用方法
代码3.4 ConvNd类的定义代码
代码3.5-3.9 归一化层模块的定义
代码3.10-3.15 池化模块的定义
代码3.16 丢弃层模块的定义
代码3.17 顺序模块的构造方法
代码3.18 模块列表和模块字典的构造方法
代码3.19-3.22 AlexNet实例及特征提取模块
代码3.23-3.24 增益系数的计算和模块参数初始化
代码3.25 InceptionNet的基础框架代码
代码3.26-3.27 ResNet的基础框架代码
4. 第四章 PyTorch 机器视觉案例
代码4.1 PyTorch常用的数据集包装类
代码4.2-4.9 LeNet模型工程
代码4.10-4.12 使用argparse库指定LeNet神经网络超参数
代码4.13 imagenet.py训练代码数据载入部分
代码4.14 ResNet瓶颈残差模块的代码实现
代码4.15-4.20 InceptionNet子模块的实现
代码4.21-4.26 SSD模型的代码实现
代码4.27-4.30 FCN模型的代码实现
代码4.31 U-Net模型的代码实现
代码4.32-4.37 图像风格迁移代码
代码4.38-4.39 变分自编码器(VAE)代码实现
代码4.40-4.42 生成对抗网络(GAN)代码实现
5. 第五章 PyTorch 自然语言处理模块
代码5.1 使用sklearn的CountVectorizer来提取词频特征
代码5.2 CountVectorizer类声明
代码5.3 TF-IDF代码实例
代码5.4 TfidfTransformer和TfidfVectorizer类的声明
代码5.5 nn.Embedding类的定义
代码5.6 词嵌入模块的使用示例
代码5.7 从预训练的词嵌入矩阵得到词嵌入模块
代码5.8 nn.EmbeddingBag类的定义
代码5.9-5.10 pack_padded_sequence和pad_packed_sequence的使用
代码5.11 简单RNN的参数代码
代码5.12 RNN代码使用实例
代码5.13 LSTM和GRU的参数定义
代码5.14 LSTM和GRU模块的使用方法
代码5.15 RNNCell、LSTMCell和GRUCell参数定义
代码5.16 RNNCell、LSTMCell和GRUCell的使用方法
代码5.17 MultiheadAttention模块参数定义
代码5.18 Transformer单层编码器和解码器模块定义
代码5.19 Transformer编码器、解码器和Transformer模型
6. 第六章 PyTorch 自然语言处理案例
代码6.1 使用collections.Counter类构建单词表
代码6.2-6.3 CBOW模型及其训练过程
代码6.4 PyTorch余弦相似度的模块的参数定义和使用
代码6.5-6.6 用于情感分析的深度学习模型代码
代码6.7-6.9 基于循环神经网络的语言模型代码
代码6.10-6.12 Seq2Seq模型代码
代码6.13-6.16 BERT模型代码
第七章 其他重要模型
代码7.1 宽深模型代码
代码7.2 CTC损失函数的定义
代码7.3 DeepSpeech模型代码
代码7.4-7.7 Tacotron模型代码
代码7.8-7.9 WaveNet模型代码
代码7.10-7.14 DQN模型代码
代码7.15-7.17 半精度模型的训练
第八章 PyTorch 高级应用
代码8.1-8.10 PyTorch自定义激活函数和梯度
代码8.11-8.14 PyTorch钩子使用方法示例
代码8.15-8.17 PyTorch静态图使用方法示例
代码8.18-8.22 PyTorch静态模型的保存和载入
第九章 PyTorch 源代码解析
代码9.1 native_functions.yaml文件的声明
代码9.2-9.4 pybind11的简单例子
机器学习算法AI大数据技术
搜索公众号添加: datanlp
长按图片,识别二维码
阅读过本文的人还看了以下文章:
基于40万表格数据集TableBank,用MaskRCNN做表格检测
《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码
PyTorch深度学习快速实战入门《pytorch-handbook》
【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》
李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
Machine Learning Yearning 中文翻译稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx