训练分类器
训练分类器
数据可以是图像,文本,音频或视频数据,可以将数据加载到Numpy数组中,利用Python包,处理好后再转换为张量。
- 对于图像,Pillow,OpenCV 等包很有用
- 对于音频,请使用 SciPy 和 librosa 等包
- 对于文本,基于 Python 或 Cython 的原始加载,或者 NLTK 和 SpaCy 很有用
torchvision
的包中包含很多常用的数据集,(例如 Imagenet,CIFAR10,MNIST 等)的数据加载器,以及用于图像(即torchvision.datasets
和torch.utils.data.DataLoader
)的数据转换器。
这次利用CIFAR10 数据集
,类别:“飞机”,“汽车”,“鸟”,“猫”,“鹿”,“狗”,“青蛙”,“马”,“船”,“卡车”,图像尺寸为3x32x32
,32x32
像素的 3 通道彩色图像。
训练图像分类器
我们将按顺序执行以下步骤:
- 使用
torchvision
加载并标准化 CIFAR10 训练和测试数据集 - 定义卷积神经网络
- 定义损失函数
- 根据训练数据训练网络
- 在测试数据上测试网络
1.加载并标准化 CIFAR10
使用torchvision
,加载 CIFAR10
1 | import torch |
TorchVision 数据集的输出是[0, 1]
范围的PILImage
图像。 我们将它们转换为归一化范围[-1, 1]
的张量。
2.定义卷积神经网络
3.定义损失函数和优化器
4.训练网络
5.根据测试数据测试网络
在 GPU 上进行训练
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Javis's Blogs!
评论