Skip to content

LiuWeiAIinBio/Pytorch-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pytorch 学习笔记的主要参考内容为:


本部分笔记整理自伊莱·史蒂文斯的《PyTorch深度学习实战》的第二章。

深入理解 PyTorch 张量整理自伊莱·史蒂文斯的《PyTorch深度学习实战》的第三章,PyTorch 张量的常用 API 整理自龙良曲老师的视频课程《龙良曲PyTorch入门到实战》的课时 14 到课时 30。学习张量的特殊乘法以及broadcasting自动扩展有助于我们理解张量计算。

动态计算图是 PyTorch 的基础,对理解整个 PyTorch 框架非常重要。

建立一个深度学习项目,第一步是准备数据,数据怎样传递给模型用于训练呢,就是通过 Dataloader 与 Dataset 实现的。

本部分是我使用 Pytorch 实现单变量线性回归模型,非视频课笔记,主要是练习自定义 dataset 子类,及使用 dataset 和 dataloader 加载数据集,dataset 子类定义在 ./tools/my_dataset.py 中,数据集 ex1.txt 来自吴恩达机器学习课程。

本部分是我使用 Pytorch 实现逻辑回归模型,非视频课笔记,主要是练习自定义 dataset 子类,及使用 dataset 和 dataloader 加载数据集,dataset 子类定义在 ./tools/my_dataset.py 中,数据集 ex2data1.txt 来自吴恩达机器学习课程。

transforms 是图片操作工具集,如果处理的数据是图片,需要在训练文件中定义具体的 transforms 方法,使用该方法对图片数据进行处理。

建立一个深度学习项目,第一步是准备数据,第二步就是基于 nn.Module 创建模型。本部分的 .ipynb 文件详细地介绍了 Pytorch 的 nn.Module,.py 文件是 nn 模块的卷积层、池化层、全连接层、激活函数层等网络层的使用练习。

建立一个深度学习项目,第一步是准备数据,第二步是创建模型,第三步就是训练模型。在迭代训练模型之前,我们需要初始化模型的权值,选择损失函数,设置优化器和设置学习率调整策略,然后加载数据到模型中进行前向传播和反向传播更新参数,训练模型。本部分介绍了权值初始化方法、损失函数、优化器和学习率调整策略。

过拟合是训练模型时的一种常见问题,我们可通过设置正则化手段来抑制过拟合,本部分介绍了三种正则化手段:

  • 在优化器中设置正则项
  • 在模型中设置 Dropout 层
  • 在模型中设置 Normalization 层

本部分介绍了三种模型训练时的可视化工具:

  • 训练模型时需要使用可视化工具监控训练情况,不对劲时就要及时停止,TensorBoard 可以帮助我们可视化训练过程。
  • torchsummary() 能够查看模型的输入和输出的形状,便于我们调试。
  • 由于 PyTorch 是基于动态图实现的,因此在一次迭代运算结束后,一些中间变量如非叶子节点的梯度和特征图,会被释放掉,如果想要获取这些中间变量,可以使用 Hook 函数。

本部分介绍了在训练模型时,以及模型训练好之后,对模型的操作:

  • 模型的保存、加载和断点续训练
  • 模型 Finetune
  • 使用 GPU 训练模型

About

Pytorch 学习笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors