赞
踩
一、简介
PyTorch自带了许多常用的数据集,包括:
这些数据集可以通过PyTorch的torchvision.datasets
模块中的函数进行加载。同时,还可以通过自定义的方式加载其他数据集。
二、torchvision和torchtext
1.torchvision:
torchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,它提供了对图片数据处理相关的api和数据。以下是torchvision的构成:
torchvision.datasets: 一些加载数据的函数及常用的数据集接口;
torchvision.models: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;
torchvision.transforms: 常用的图片变换,例如裁剪、旋转等;
torchvision.utils: 其他的一些有用的方法。
2.torchtext
torchtext是一个基于PyTorch的自然语言处理工具包,它提供了一组可重用的模块和数据集,方便用户进行文本数据的处理和建模。它包含一些常见的NLP任务,如文本分类、自然语言生成、机器翻译等,并且提供了多种数据预处理和数据加载的方式。使用torchtext可以大大简化NLP模型的开发和训练过程,同时提高模型的效率和准确性。
三、MNIST数据集
MNIST数据集是一个手写数字识别数据集,包含了60,000张训练图片和10,000张测试图片。每个图片都已经进行过标准化的处理,是28x28像素的灰度图像,标记了相应的0到9的数字。该数据集广泛用于机器学习领域中的图像分类和数字识别任务,并且是许多人工智能算法的基准测试数据集之一。
torchvision.datasets中的数据集torchvision.datasets.MNIST是继承自Dataset,意味着,直接对torchvision.datasets.MNIST进行实例化就可以得到Dataset实例。
dataset=torchvision.datasets.MNIST(root='./files/',train=True,download=True,transform=)
root表示数据存放的位置
train表示是训练集还是测试集 ,True表示训练集
download表示是否下载到root目录
transform实现对图片的处理函数
四、torchvision.transforms图形数据处理方法
1.torchvision.transforms.ToTensor()是一种将PIL图像或numpy.ndarray转换为torch.FloatTensor格式的变换操作。它会将输入的图像数据按照像素值进行归一化处理,并且在转换过程中会将通道维数进行调整,使其符合PyTorch模型的输入要求。
对于一张H×W×C的彩色图像,ToTensor()会将其转换为一个C×H×W的浮点数Tensor,每个像素点的值在0~1之间。而对于一张灰度图像,ToTensor()会将其转换为一个1×H×W的浮点数Tensor,在这种情况下每个像素点的值依然在0~1之间。
H是高,W是宽,C是通道数,黑白图片的通道数只有1,其中每个像素点的取值为[0,255],彩色图片的通道数为(R,G,B),每个通道的每个像素点的取值为[0,255],三个通道的颜色互相叠加,形成了各种颜色。
2.torchvision.transforms.Normalize(mean,std)
逐通道对图像进行标准化,使其均值变为0,标准差变为1.
3.torchvision.transforms.Compose()
是PyTorch中一个常用的变换操作组合函数。它可以将多个预定义的变换操作按照给定顺序组合起来,形成一个完整的图像变换操作序列,用于对数据集进行预处理。
例:
- transform_fn=Compose([
- ToTensor(),#ToTensor()将shape为(H, W, C)的nump.ndarray或img转为shape为(C, H, W)的tensor,其将每一个数值归一化到[0,1]
- Normalize(mean=(0.1307,),std=(0.3081,))
- ])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。