对于PyTorch加载和处理不同类型数据,官方提供了torchvision和torchtext。
之前使用 torchDataLoader类直接加载图像并将其转换为张量。现在结合torchvision和torchtext介绍torch中的内置数据集
Torchvision 中的数据集 MNIST
MNIST是一个由标准化和中心裁剪的手写图像组成的数据集它有超过 60,000 张训练图像和 10,000 张测试图像这是用于学习和实验目的最常用的数据集之一要加载和使用数据集,使用以下语法导入:torchvision.datasets.MNIST
Fashion MNIST
Fashion MNIST数据集类似于MNIST,但该数据集包含T恤,裤子,包包等服装项目,而不是手写数字,训练和测试样本数分别为60,000和10,000。要加载和使用数据集,使用以下语法导入:torchvision.datasets.FashionMNIST
CIFAR
CIFAR数据集有两个版本,CIFAR10和CIFAR100CIFAR10 由 10 个不同标签的图像组成,而 CIFAR100 有 100 个不同的类这些包括常见的图像,如卡车,青蛙,船,汽车,鹿等
torchvision.datasets.CIFAR10torchvision.datasets.CIFAR100 COCO
COCO数据集包含超过 100,000 个日常对象,如人,瓶子,文具,书籍等这个图像数据集广泛用于对象检测和图像字幕应用
EMNIST
EMNIST数据集是 MNIST 数据集的高级版本它由包括数字和字母的图像组成如果您正在处理基于从图像中识别文本的问题,EMNIST是一个不错的选择
IMAGE—NET
ImageNet 是用于训练高端神经网络的旗舰数据集之一它由分布在 10,000 个类别中的超过 120 万张图像组成通常,这个数据集加载在高端硬件系统上,因为单独的 CPU 无法处理这么大的数据集
Torchtext 中的数据集 IMDB
IMDB是一个用于情感分类的数据集,其中包含一组 25,000 条高度极端的电影评论用于训练,另外 25,000 条用于测试。使用以下类加载这些数据torchtext:torchtext.datasets.IMDB
WikiText2
WikiText2语言建模数据集是一个超过 1 亿个标记的集合它是从维基百科中提取的,并保留了标点符号和实际的字母大小写它广泛用于涉及长期依赖的应用程序
除了上述两个流行的数据集,torchtext库中还有更多可用的数据集,例如 SST,TREC,SNLI,MultiNLI,WikiText—2,WikiText103,PennTreebank,Multi30k 等。
深入查看 MNIST 数据集
MNIST 是最受欢迎的数据集之一现在我们将看到 PyTorch 如何从 pytorch/vision 存储库加载 MNIST 数据集
fromtorchvision.datasetsimportMNIST#DownloadMNISTdata_train=MNISTimportmatplotlib.pyplotaspltrandom_image=data_trainrandom_image_label=data_train#PrinttheImageusingMatplotlibplt.imshowprint DataLoader加载MNIST
下面我们使用DataLoader该类加载数据集,如下所示。
我们可以启用 GPU 来更快地训练我们的模型现在让我们使用CUDA加载数据时可以使用的的配置
device="cuda"iftorch.cuda.is_availableelse"cpu"kwargs='num_workers':1,'pin_memory':Trueifdevice'cuda'elsetrain_loader=torch.utils.data.DataLoader,batch_size=batch_size_train,**kwargs)test_loader=torch.utils.data.DataLoader(torchvision.datasets.MNIST('files/',train=False,download=True),batch_size=batch_size,**kwargs) ImageFolder
ImageFolder是一个通用数据加载器类torchvision,可帮助加载自己的图像数据集处理一个分类问题并构建一个神经网络来识别给定的图像是apple还是orange
root├──orange│├──orange_image1.png│└──orange_image1.png├──apple│└──apple_image1.png│└──apple_image2.png│└──apple_image3.png
可以使用ImageLoader该类加载所有这些图像。
torchvision.datasets.ImageFolder(root,transform) transforms
PyTorch 转换定义了简单的图像转换技术,可将整个数据集转换为独特的格式。
如果我们手动将所有图像转换为所需的输入大小,则很耗时,因此我们可以使用transforms,使用几行 PyTorch 代码,我们数据集中的所有图像都可以转换为所需的输入大小和分辨率
现在让我们加载 CIFAR10torchvision.datasets并应用以下转换:
下面将创建一个由数字和文本组成的简单自定义数据集需要封装Dataset 类中的__getitem__和__len__方法
__getitem__方法通过索引返回数据集中的选定样本 __len__方法返回数据集的总大小
下面是曾经封装FruitImagesDataset数据集的代码,基本是比较好的 PyTorch 中创建自定义数据集的模板。
声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多企业信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。投资有风险,需谨慎。
9月6日上午,在崂山区政府西塔楼一楼大厅,崂山区科创委联合沙子口街道、大石社区启动了为期5天的大石村农民水彩画展。本次画
2021-09-08 12:23在5米高空作业,将数吨重的火车车轮或者小到几十斤的ldquo;铁疙瘩rdquo;安全装卸到位,可能谁也不会把这一切和一个
2021-09-03 11:10每个孩子都有其独特的成长规律。在孩子成长的过程中,每一步都充满着对这个世界的好奇,那作为家长的我们,该如何顺应孩子的成长
2021-08-30 18:502021年7月19日,备受关注的2021第五届中国家居品牌大会在广州启幕,现场发布2020-2021中国家居十大优选品牌
2021-07-26 01:28