
上QQ阅读APP看书,第一时间看更新
2.1 图像分类器
通常来说,当处理图像、文本、语音或者视频数据时,我们可以使用标准Python包将数据加载成NumPy数组格式,然后将这个数组转换成 torch.*Tensor。
• 对于图像,可以用 Pillow和OpenCV ;
• 对于文本,可以直接用 Python 或 Cython 基础数据加载模块,或者用 NLTK 和spaCy ;
• 对于语音,可以用SciPy和Librosa。
考虑到这一点,为了给开发者提供更加方便的加载方式,PyTorch已经创建了一个叫作torchvision 的包,该包含有支持加载类似ImageNet、CIFAR-10、MNIST等公共数据集的数据加载模块 torchvision.datasets 和支持加载图像数据的数据转换模块 torch.utils.data.DataLoader。这提供了极大的便利,并且避免了编写“模板代码”。
本节内容将使用CIFAR-10数据集,它包含10个类别:plane、car、bird、cat、deer、dog、frog、horse、ship、truck。CIFAR-10中的图像尺寸为3×32×32,也就是RGB的3层颜色通道,图像的宽和高都为32。