通常来说,当你处理图像,文本,语音或者视频数据时,你可以使用标准 python 包将数据加载成numpy 数组格式,然后将这个数组转换成 torch.*Tensor
- 对于图像,可以用 Pillow,OpenCV
- 对于语音,可以用 scipy,librosa
- 对于文本,可以直接用 Python 或 Cython 基础数据加载模块,或者用 NLTK 和 SpaCy
特别是对于视觉,我们已经创建了一个叫做 totchvision 的包,该包含有支持加载类似Imagenet,CIFAR10,MNIST 等公共数据集的数据加载模块 torchvision.datasets 和支持加载图像数据数据转换模块 torch.utils.data.DataLoader。
这提供了极大的便利,并且避免了编写“样板代码”。
对于本教程,我们将使用CIFAR10数据集,它包含十个类别:‘airplane’, ‘automobile’, ‘bird’, ‘cat’,‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’。CIFAR-10 中的图像尺寸为3*32*32,也就是RGB的3层颜色通道,每层通道内的尺寸为32*32。
训练一个图像分类器,我们将按次序的做如下几步:
- 使用torchvision加载并且归一化CIFAR10的训练和测试数据集
- 定义一个卷积神经网络
- 定义一个损失函数
- 在训练样本数据上训练网络
- 在测试样本数据上测试网络
完整教程见下方截图
分享一份pytorch官方教程,里面的内容相当丰富,我认为,值得大家好好学一学。这套PDF包含pytorch介绍、下载安装、60分钟快速入门。可以迅速从小白阶段完成一个分类器模型,计算机视觉常用模型,方便基于自己的数据进行调整,不再需要从头开始写。
下面是部分截图,文末扫码加我免费领取(AI技术问题我也可解答一二)
一、教程介绍/大纲部分
二、Anaconda安装教程
三、PyTorch & torchvision安装部分
四、神经网络:现在对于自动梯度(autograd)有一些了解,神经网络是基于自动梯度 (autograd)来定义一些模型。一个 nn.Module 包括层和一个方法 forward(input) 它会返回输出(output)。
五、图像分类器
六、内容太多不一展示,大家直接看原文档就行了