图像分类数据集(Fashion-MNIST)

【代码】

1. 获取数据集

# 导入本节需要的包或模块
%matplotlib inline
from IPython import display
from matplotlib import pyplot as plt
from mxnet.gluon import data as gdata
import sys
import time
# 通过参数train来指定获取训练数据集或测试数据集(testing data set)
mnist_train = gdata.vision.FashionMNIST(train=True)
mnist_test = gdata.vision.FashionMNIST(train=False)
Downloading C:\Users\林景\AppData\Roaming\mxnet\datasets\fashion-mnist\train-images-idx3-ubyte.gz from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-images-idx3-ubyte.gz...
Downloading C:\Users\林景\AppData\Roaming\mxnet\datasets\fashion-mnist\train-labels-idx1-ubyte.gz from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz...
Downloading C:\Users\林景\AppData\Roaming\mxnet\datasets\fashion-mnist\t10k-images-idx3-ubyte.gz from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/t10k-images-idx3-ubyte.gz...
Downloading C:\Users\林景\AppData\Roaming\mxnet\datasets\fashion-mnist\t10k-labels-idx1-ubyte.gz from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/t10k-labels-idx1-ubyte.gz...

训练集中和测试集中的每个类别的图像数分别为6,000和1,000。因为有10个类别,所以训练集和测试集的样本数分别为60,000和10,000。

len(mnist_train), len(mnist_test)
(60000, 10000)
# 获取第⼀个样本的图像和标签
feature, label = mnist_train[0]

变量feature对应⾼和宽均为28像素的图像。每个像素的数值为0到255之间8位⽆符号整数(uint8)。它使⽤三维的NDArray存储。其中的最后⼀维是通道数。因为数据集中是灰度图像,所以通道数为1。

# 图像的标签使⽤NumPy的标量表⽰
label, type(label), label.dtype
(2, numpy.int32, dtype('int32'))

Fashion-MNIST中⼀共包括了10个类别,分别为t-shirt(T恤)、trouser(裤⼦)、pullover(套衫)、dress(连⾐裙)、coat(外套)、sandal(凉鞋)、shirt(衬衫)、sneaker(运动鞋)、bag(包)和ankleboot(短靴)。

# 将数值标签转换成相应的文本标签
def get_fashion_mnist_labels(labels):text_labels = ['t-shirt', 'trouser', 'pullover', 'dress', 'coat','sandal', 'shirt', 'sneaker', 'bag', 'ankle boot']return [text_labels[int(i)] for i in labels]
from utils import use_svg_display # 导入封装好的函数
# 定义⼀个可以在⼀⾏⾥画出多张图像和对应标签的函数。
def show_fashion_mnist(images, labels):use_svg_display()# 这⾥的_表⽰我们忽略(不使⽤)的变量_, figs = plt.subplots(1, len(images), figsize=(12, 12))for f, img, lbl in zip(figs, images, labels):f.imshow(img.reshape((28,28)).asnumpy())f.set_title(lbl)f.axes.get_xaxis().set_visible(False)f.axes.get_yaxis().set_visible(False)
# 训练数据集中前9个样本的图像内容和⽂本标签
X, y = mnist_train[0:9]
show_fashion_mnist(X, get_fashion_mnist_labels(y))


2. 读取小批量

直接创建DataLoader实例。该实例每次读取⼀个样本数为batch_size的小批量数据。这⾥的批量⼤小batch_size是⼀个超参数。

在实践中,数据读取经常是训练的性能瓶颈,特别当模型较简单或者计算硬件性能较⾼
时。Gluon的DataLoader中⼀个很⽅便的功能是允许使⽤多进程来加速数据读取(暂不⽀
持Windows操作系统)。这⾥我们通过参数num_workers来设置4个进程读取数据。

此外,我们通过ToTensor实例将图像数据从uint8格式变换成32位浮点数格式,并除以255使得所有像素的数值均在0到1之间。ToTensor实例还将图像通道从最后⼀维移到最前⼀维来⽅便之后介绍的卷积神经⽹络计算。通过数据集的transform_first函数,我们将ToTensor的变换应⽤在每个数据样本(图像和标签)的第⼀个元素,即图像之上。

batch_size = 256
transformer = gdata.vision.transforms.ToTensor()
if sys.platform.startswith('win'):num_workers = 0 # 0表示不用额外的进程来加速读取数据
else:num_workers = 4train_iter = gdata.DataLoader(mnist_train.transform_first(transformer), batch_size, shuffle=True,num_workers=num_workers)
test_iter = gdata.DataLoader(mnist_test.transform_first(transformer), batch_size, shuffle=False, num_workers=num_workers)
# 查看读取一遍训练数据的时间
start = time.time()
for X, y in train_iter:continue
print('%.2f sec'% (time.time() - start))
4.57 sec

图像分类数据集(Fashion-MNIST)相关推荐

  1. tensorflow2.0 CNN fashion MNIST图像分类

    基于 CNN的 fashion MNIST图像分类 fashion MNIST图像分类 数据集简介 数据的预处理 CNN简介和构建 模型部分代码 CNN实验结果 致谢 fashion MNIST图像分 ...

  2. 深度学习之自编码器(2)Fashion MNIST图片重建实战

    深度学习之自编码器(2)Fashion MNIST图片重建实战 1. Fashion MNIST数据集 2. 编码器 3. 解码器 4. 自编码器 5. 网络训练 6. 图片重建 完整代码  自编码器 ...

  3. Fashion MNIST

    原文: Fashion MNIST An MNIST-like dataset of 70,000 28x28 labeled fashion images Fashion-MNIST is a da ...

  4. fashionmnist数据集_Keras实现Fashion MNIST数据集分类

    本篇用keras构建人工神经网路(ANN)和卷积神经网络(CNN)实现Fashion MNIST 数据集单个物品分类,并从模型预测的准确性方面对ANN和CNN进行简单比较. Fashion MNIST ...

  5. Pytorch初学实战(一):基于的CNN的Fashion MNIST图像分类

    1.引言 1.1.什么是Pytorch PyTorch是一个开源的Python机器学习库. 1.2.什么是CNN 卷积神经网络(Convolutional Neural Networks)是一种深度学 ...

  6. python cnn程序_python cnn训练(针对Fashion MNIST数据集)

    本文将和大家一起一步步尝试对Fashion MNIST数据集进行调参,看看每一步对模型精度的影响.(调参过程中,基础模型架构大致保持不变) 废话不多说,先上任务: 模型的主体框架如下(此为拿到的原始代 ...

  7. 计算机视觉两个入门数据集(mnist和fashion mnist)本地下载地址

    1.计算机视觉经典数据集 1.mnist数据集 MNIST(Mixed National Institute of Standards andTechnology database)数据集大家可以说是 ...

  8. tensorflow卷积神经网络实战:Fashion Mnist 图像分类与人马分类

    卷积神经网络实战:Fashion Mnist 图像分类与人马分类 一.FashionMnist的卷积神经网络模型 1.卷积VS全连接 2.卷积网络结构 3.卷积模型结构 1)Output Shape ...

  9. Fashion MNIST数据集的处理——“...-idx3-ubyte”文件解析

    Fashion MNIST MNIST数据集可能是计算机视觉所接触的第一个图片数据集.而 Fashion MNIST 是在遵循 MNIST 的格式和大小的基础上,提升了一定的难度,在比较算法的性能时可 ...

  10. TensorFlow中的Fashion MNIST图像识别实战

    1.导入相应的库: 关于Fashion MNIST数据集的介绍:看这位博主: https://blog.csdn.net/qq_28869927/article/details/85079808 im ...

最新文章

  1. 推荐阅读的多核编程技术书籍
  2. 7-flutter Navigator 和Route
  3. 如何利用大数据进行精准营销
  4. 【C 语言】文件操作 ( 文件加密解密 | 加密文件 )
  5. element ui怎么调图标的大小_大明:网页字体大小怎么调?教你方法一键搞定
  6. 初学者也能看懂的DPDK解析
  7. jvm原理、启动时间、与编译器操作系统关系
  8. LG G8X官方图流出:LG双屏手机也意外曝光 或IFA发布
  9. 帆软报表 js 调用sql_SQL Server中的报表–创建由先前创建的主报表调用的基于矩阵的子报表
  10. .net framework 4.0安装_R4.0的源码安装——以mac为例
  11. 简单的redis使用watch完成秒杀抢购功能
  12. HDU-2057(16进制的输入输出)
  13. 自定义添加文字的电脑桌面_将可自定义的免费应用程序启动器添加到Windows桌面...
  14. HQChart使用教程92-如何创建分笔明细表
  15. 我的框架——MyBean
  16. mysql的性能瓶颈_Mysql性能优化(一) - 性能检测与瓶颈分析
  17. 中职计算机vb听课记录,《高级语言程序设计VB》听课笔记:12
  18. 程序猿生存指南-7 相亲之路(下)
  19. 20165219王彦博第一周学习总结
  20. 《视觉slam十四讲》初学小白笔记(10)

热门文章

  1. 3x3矩阵怎么求逆矩阵_矩阵型组织结构,郭士纳与任正非都是怎么说的?
  2. 微信分享链接php,微信实现分享链接的缩略图和标题
  3. [转]BAT 批处理脚本 教程
  4. 路由器修改hosts实现域名劫持
  5. 学以致用二---配置Centos7.2 基本环境
  6. 以太坊智能合约gas如何估计?
  7. 【 HDU1081 】 To The Max (最大子矩阵和)
  8. 关于for in和for循环的遍历
  9. PHP 遍历文件夹及文件类及处理类
  10. 传奇服务器维护活力值怎么算,电竞传奇活力值怎么补满 电竞传奇快速恢复方法...