Bootstrap

PyTorch(七)总结

系列文章目录

PyTorch(一)安装与环境配置
PyTorch(二)Dataset 与 DataLoader
PyTorch(三)TensorBoard 与 Transforms
PyTorch(四)Torchvision 与 Transforms
PyTorch(五)神经网络基础
PyTorch(六)网络模型



Log

2022.12.11整理整理,梳理一下(水一篇(不是)),寒假要去搞其他的事情了,估计不会更新博客2022.12.12完善一下


一、安装与环境配置

  • 主要介绍了在使用 PyTorch 之前需要进行的准备工作,包括 conda 和 CUDA 的安装,以及用到的编译器及其各自的特点等内容。

二、Dataset 与 DataLoader

  • 主要介绍了 Pytorch 中 Dataset 和 DataLoader 两个类的区别以及使用方法。

三、TensorBoard 与 Transforms

  • 主要介绍了 T e n s o r B o a r d \rm TensorBoard TensorBoard 的安装以及其中的 S u m m a r y W r i t e r \rm SummaryWriter SummaryWriter 的使用,包括函数 add_scalar() 以及 add_image() 的使用方法。
  • 同时还介绍了 T r a n s f o r m s \rm Transforms Transforms 的结构及用法,以及诸如 ToTensorNormalizeResizeComposeRandomCrop 等的常用的函数的用法。

四、Torchvision 与 Transforms

  • C I F R 10 \rm CIFR10 CIFR10 为例介绍了 T o r c h v i s i o n \rm Torchvision Torchvision 中数据集的使用方法,以及如何结合 T r a n s f o r m s \rm Transforms Transforms 使用数据集。

五、神经网络基础

  • 主要介绍了 P y t o r c h \rm Pytorch Pytorchtorch.nn 有关神经网络的相关内容,包括其中的相关模块的使用方法。
  • 容器(Containers) 中介绍了 torch.nn.Module,它是所有神经网络的一个基本的类,提供一个基本骨架,所有自建的网络都需要继承该类;同时还介绍了 torch.nn.Sequential,它的作用是整合不同的操作,使代码变得简洁。
  • 卷积层(Convolution Layers) 中介绍了 torch.nn.functionaltorch.nn 中的 Conv2d 类,torch.nn 是对 torch.nn.functional 的封装,因此 torch.nn.functional 中的内容会更加详细一些。
  • 池化层(Pooling layers) 中介绍了 nn.MaxPool2d 下采样(最大池化),它的作用就是降低数据的维度,减少数据量,提高网络的训练速度。
  • 非线性激活(Non-linear Activations) 中介绍了 ReLU 以及 Sigmod 的使用,非线性激活是为了为我们的神经网络中引入一些非线性的特质,非线性越多的话就越容易训练出符合各种特征的模型,得到更好的泛化能力。
  • 线性层(Linear Layers) 中介绍了 torch.nn.Linear,作用是进行线性变换。
  • 损失函数(Loss Functions) 中介绍了 L1LossMSELossCrossEntropyLoss三种损失函数的使用方法。
  • 最后还介绍了优化器(Optimizer),它的作用是利用反向传播计算出的梯度对参数进行调整,进而实现误差降低的目的。

六、网络模型

  • 介绍了如何对已有的模型进行修改或者添加自己想要的结构,保存的读取网络模型的方法,利用 GPU 进行训练,以及完整的模型训练和验证的套路。
;