python读取idx1_python实现图像数据读取与数据扩增

本文介绍了如何使用Python读取MNIST数据集,并实现图像数据的扩增。通过Pytorch的Dataset和DataLoader,详细讲解了数据集的构建、索引文件制作、数据预处理的过程。
摘要由CSDN通过智能技术生成

f068a41ce6db4c3beffba2187d5d17ac.png

Datawhale是一个学习互助的开源组织,第20期组队学习内容包括:

  • SQL编程语言
  • Go编程语言
  • 编程实践(Pandas)
  • 编程实践(数据可视化)
  • 计算机视觉(目标检测)

想着能够借此完成毕业设计的心态,我参加了这次计算机视觉(目标检测)的打卡活动。

第一次的打卡内容为:

  • 目标检测的基本概念、目标框定义方式、交并比(IOU)的计算
  • VOC数据集详细介绍
  • VOC数据集dataloader构建

但由于笔者的时间比较紧凑,只看到了第二章,所以在此给大家介绍一下第二章图像分类入门的“使用python语言实现图像数据读取与数据扩增”部分。


常用数据集有MNIST、CIFAR、PASCAL VOC、ImageNet、MS COCO、Open Image Dataset等,为了方便理解,这里从MNIST数据集入手讲解如何对图像进行读取与扩增。

1、MNIST数据集:

MNIST数据集(Mixed National Institute of Standards and Technology database)是美国国家标准与技术研究院收集整理的大型手写数字数据库。包含60,000个示例的训练集以及10,000个示例的测试集,其中训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员,测试集(test set) 也是同样比例的手写数字数据。可以说,完成MNIST手写数字分类和识别是计算机视觉领域的"Hello World"。

f276fccf21547685e50352ea1168051c.png
MNIST数据集

MNIST数据集下载链接:

  • train-images-idx3-ubyte.gz: training set images (9912422 bytes)
  • train-labels-idx1-ubyte.gz: test set images (1648877 bytes)
  • t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
  • t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)

2、Pytorch数据集及读取方法

pytorch中所有的数据集均继承自torch.utils.data.Dataset,它们都需要实现了 __getitem__ 和 __len__ 两个接口,因此,实现一个数据集的核心也就是实现这两个接口。Pytorch的torchvision中已经包含了很多常用数据集以供我们使用,如Imagenet,MNIST,CIFAR10、VOC等,利用torchvision可以很方便地读取。对于pytorch自带的图像数据集,它们都已经实现好了上述的两个核心接口。

简单的对pytorch读取数据一般化pipeline的描述,就是下面的这个流程:

图像数据 ➡ 图像索引文件 ➡ 使用Dataset构建数据集 ➡ 使用DataLoader读取数据

注:图像数据就是训练测试模型使用的图片。这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值