PyTorch常用的包有哪些,作用是什么?
已经九月份了,暑假课程《深度学习》的学习也接近尾声了,在这个课程中,我们做了很多基于pytorch框架的实验,也了解到许多pytorch的包,下面对常用的包做一个归纳总结。
PyTorch本身是一个基于Python的科学计算库,特点是可以在GPU上运算。
1、torch:
张量的有关运算。如创建、索引、连接、转置、加减乘除、切片等。
2、torch.nn:
包含搭建神经网络层的模块(Modules)和一系列loss函数。如全连接、卷积、BN批处理、dropout、CrossEntryLoss、MSELoss等。
3、torch.nn.functional:
常用的激活函数relu、leaky_relu、sigmoid等。
4、torch.autograd:
提供Tensor所有操作的自动求导方法。
5、torch.optim:
各种参数优化方法,例如SGD、AdaGrad、Adam、RMSProp等
6、torch.utils.data:
用于加载数据。
7、torchvision包
torchvision是PyTorch中专门用来处理图像的库,这个包中常用的几个模块:
torchvision.datasets:是用来进行数据加载的
torchvision.models:为我们提供了已经训练好的模型,让我们可以加载之后,直接使用。包括AlexNet、VGG、ResNet
torchvision.transforms:为我们提供了一般的图像转换操作类。
torchvision.utils:将给定的Tensor保存成image文件。
8、from PIL import Image
我们一般在pytorch中处理的图像无非这几种格式:
PIL:使用python自带图像处理库读取出来的图片格式
numpy:使用python-opencv库读取出来的图片格式
tensor:pytorch中训练时所采取的向量格式(当然也可以说图片)
from PIL import Image是在进行PIL与Tensor的转换,也就是图片格式的转换。
9、matplotlib
这是Pytorch的一个绘图库,是Python中最常用的可视化工具之一,可以非常方便地创建2D图表和一些基本的3D图表。