pytorch 中数据 *** 作和预处理

pytorch 中数据 *** 作和预处理,第1张

pytorch 中数据 *** 作和预处理

在 pytorch 中 torch.utils.data 模块包含着一些常用的数据预处理的 *** 作,主要用于数据的读取、切分、准备等。

类功能torch.utils.data.TensorDataset()将数据处理为张量torch.utils.data.ConcatDataset()连接多个数据集torch.utils.data.Subset()根据索引获取数据集的子集torch.utils.data.DataLoader()数据加载器torch.utils.data.random_split()随机将数据集拆分为给定长度的非重叠新数据集

使用这些类能够对高维数组、图像等各种类型的数据进行预处理,以便深度学习模型的使用。针对文本数据的处理可以使用 torchtext 库进行相关的数据准备 *** 作。

    高维数组
    在很多情况下,我们需要从文本(如 csv 文件)中读取高维数组数据,这类数据的特征是每个样本都有很多个预测变量(特征)和一个被预测变量(目标标签),特征通常是数值变量或者离散变量,被预测变量如果是连续的数值,则对应着回归问题的预测,如果是离散变量,则对应着分类问题。在使用 pytorch 建立模型对数据进行学习时,通常要对数据进行预处理,并将它们转化为网络需要的数据形式。图像数据
    torchvision 中的 datasets 模块包含多种常用的分类数据集下载及导入函数,可以很方便地导入数据以及验证所建立的模型效果。datasets 模块所提供的部分常用图像数据集如下。
数据集对应的类描述datasets.MNIST()手写字体数据集datasets.FashionMNIST()衣服、鞋子、包等 10 类数据集datasets.KMNIST()一些文字的灰度数据datasets.CocoCaptions()用于图像标注的 MS COCO 数据datasets.CocoDetection()用于检测的 MS COCO 数据datasets.LSUN()10 个场景和 20 个目标的分类数据集datasets.CIFAR10()CIFAR10 类数据集datasets.CIFAR100()CIFAR100 类数据集datasets.STL10()包含 10 类的分类数据集和大量的未标记数据datasets.ImageFolder()使用 lambd 作为转化器,可自定义图像 *** 作方式

torchvision 中的 transforms 模块可以针对每张图像进行预处理 *** 作,在该模块中提供了如下常用图像 *** 作。

数据集对应的类描述transforms.Compose()将多个 transform 组合起来使用transforms.Scale()按照指定的图像尺寸对图像进行调整transforms.CenterCrop()将图像进行中心切割,得到给定的大小transforms.RandomCrop()切割中心点的位置随机选取transforms.RandomHorizontalFlip()图像随机水平翻转transforms.RandomSizedCrop()将给定的图像随机切割,然后再变换为给定大小transforms.Pad()将图像所有边用给定的 pad value 填充transforms.ToTensor()把一个取值范围是 [0, 255] 的 PIL 图像或形状为 [H, W, C] 的数组,转换成形状为 [C, H, W],取值范围是 [0, 1.0] 的张量(torch.FloatTensor)transforms.Normalize()将给定的图像进行规范化 *** 作transforms.Lambda(lambd)使用 lambd 作为转化器,可自定义图像 *** 作方式
    文本数据
    对文本数据进行分类是深度学习任务中常见的应用,但是 pytorch 建立的深度学习网络并不能直接作用于文本数据,需要对文本数据进行相应的预处理。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5711562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存