栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytorch 中数据操作和预处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 建立的深度学习网络并不能直接作用于文本数据,需要对文本数据进行相应的预处理。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/714917.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号