系列文章目录
PyTorch(一)安装与环境配置
PyTorch(二)Dataset 与 DataLoader
PyTorch(三)TensorBoard 与 Transforms
PyTorch(四)Torchvision 与 Transforms
PyTorch(五)神经网络基础
PyTorch(六)网络模型
文章目录
Log
2022.12.11整理整理,梳理一下(水一篇(不是)),寒假要去搞其他的事情了,估计不会更新博客2022.12.12完善一下
- 本篇文章是对之前课程学习内容的总结。
- 学习的视频教程:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】
一、安装与环境配置
- 主要介绍了在使用 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 的结构及用法,以及诸如
ToTensor
、Normalize
、Resize
、Compose
、RandomCrop
等的常用的函数的用法。
四、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
Pytorch 中
torch.nn
有关神经网络的相关内容,包括其中的相关模块的使用方法。 - 在容器(Containers) 中介绍了
torch.nn.Module
,它是所有神经网络的一个基本的类,提供一个基本骨架,所有自建的网络都需要继承该类;同时还介绍了torch.nn.Sequential
,它的作用是整合不同的操作,使代码变得简洁。 - 在卷积层(Convolution Layers) 中介绍了
torch.nn.functional
和torch.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) 中介绍了
L1Loss
、MSELoss
、CrossEntropyLoss
三种损失函数的使用方法。 - 最后还介绍了优化器(Optimizer),它的作用是利用反向传播计算出的梯度对参数进行调整,进而实现误差降低的目的。
六、网络模型
- 介绍了如何对已有的模型进行修改或者添加自己想要的结构,保存的读取网络模型的方法,利用 GPU 进行训练,以及完整的模型训练和验证的套路。