深度学习速成(3)Pytorch自带的数据集介绍

一、简介

PyTorch自带了许多常用的数据集,包括:

  1. MNIST:手写数字图像数据集,用于图像分类任务。
  2. CIFAR:包含10个类别、60000张32x32的彩色图像数据集,用于图像分类任务。
  3. COCO:通用物体检测、分割、关键点检测数据集,包含超过330k个图像和2.5M个目标实例的大规模数据集。
  4. ImageNet:包含超过1400万张图像,用于图像分类和物体检测等任务。
  5. Penn-Fudan Database for Pedestrian Detection and Segmentation:用于行人检测和分割任务的数据集。
  6. STL-10:包含100k张96x96的彩色图像数据集,用于图像分类任务。
  7. Cityscapes:包含5000张精细注释的城市街道场景图像,用于语义分割任务。
  8. SQUAD:用于机器阅读理解任务的数据集。

这些数据集可以通过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,))
    ])


 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哥兜兜有糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值