torchvision.datasets

由于MNIST数据集太简单,简单的网络就可以达到99%以上的top one准确率,也就是说在这个数据集上表现较好的网络,在别的任务上表现不一定好。因此zalando research的工作人员建立了fashion mnist数据集,该数据集由衣服、鞋子等服饰组成,包含70000张图像,其中60000张训练图像加10000张测试图像,图像大小为28x28,单通道,共分10个类,如下图,每3行表示一个类。

所以我们通过torchvison来处理FashionMNIST数据集:

import torch
import torchvision
import torchvision.transforms as transformstrain_set = torchvision.datasets.FashionMNIST(root = './data/FasionMNIST',  # 将数据保存在本地什么位置train=True,  # 我们希望数据用于训练集,其中6万张图片用作训练数据,1万张图片用于测试数据download=True,  # 如果目录下没有文件,则自动下载transform=transforms.Compose([transforms.ToTensor()])  # 我们将数据转为Tensor类型
)

这样我们就完成了FashionMNIST数据的提取和转换。

如果这个过程中报错:ImportError: IProgress not found. Please update jupyter and ipywidgets.。一般是jupyter的版本有些低了,可能是你默认的环境,所以重装以下就好了:

# 可以先用你的环境 conda activate xx
# 卸载jupyter:
pip install --upgrade jupyter

访问单独某个训练数据:

torchvision.dataloader

dataloader使我们能够访问数据并提供查询功能。

train_loader = torch.utils.data.DataLoader(train_set, batch_size=10)


通过train_loader方式得到的batch包含图像的张量是4维的张量,形状是[10, 1, 28, 28],这告诉我们有10个图像,他们都有1个单独的颜色通道,高度宽度都是28;对于包含标签的张量,他的长度是10,每10个图像为一批数据。

现在让我们看看如何使用torchvison.utils.make_grid函数一次性的画出整批图像:

我们可以看到,我们已经使用torchvision.utils.make_grid函数创建了一个网络,我们把图像张量作为第一个参数,nrow=10这样我们所有的图像就会沿着一行显示,nrow参数指定每一行的图像数量,因为我们的batch_size=10,这就给我们了一排图像,我们使用np.transpose(grid, (1,2,0)),这样轴就满足了图像的功能需要的规格。

现在我们知道了datasetdataloader之间如何交互的了。现在试试如何批量处理数据:

Pytorch教程(十六):FashionMNIST数据集DataSet DataLoader相关推荐

  1. Wix 安装部署教程(十六) -- 自动生成多语言文件

    Wix 安装部署教程(十六) -- 自动生成多语言文件 原文:Wix 安装部署教程(十六) -- 自动生成多语言文件 因为持续集成需要,所有项目编译完之后生成一个多语言的安装包.之前生成mst文件都是 ...

  2. 【Visual C++】游戏开发四十八 浅墨DirectX教程十六 三维地形系统的实现

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  3. 群晖NAS教程(十六)、利用Docker安装GitLab管理代码工具

    为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 群晖NAS教程(十六).利用Docker安装GitLab管理代码工具 群晖DSM上安装GitLab有两种方式,一种是直接在群晖套件上安装,另一种是 ...

  4. 【Visual C++】游戏开发四十八 浅墨DirectX教程十六 三维地形系统的实现

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8685546 作者:毛星云(浅墨) ...

  5. Cesium教程(十六):动态数据三维可视化

    Cesium教程(十六):动态数据三维可视化 1.Cesium时间系统 Cesium时间系统在动态数据可视化中发挥着重要作用. 2.动态数据格式CZML CZML是Cesium团队制定的一种用来描述动 ...

  6. 从零开始学Pytorch(十六)之模型微调

    微调 在前面的一些章节中,我们介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型.我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1,000万的图像 ...

  7. SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)

    一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发 ...

  8. Flask教程(十六)RESTful-API

    软硬件环境 windows 10 64bit anaconda3 with python 3.7 pycharm 2020.1.2 flask 1.1.2 flask-restful 0.3.8 简介 ...

  9. nCode:DesignLife案例教程十六

    nCode:DesignLife 案例十六--基于DesignLife的短纤维复合材料的疲劳分析 16.1 案例文件 16.2 目标 16.3 检查FE结果 16.4 定义分析流程 16.5 检查结果 ...

最新文章

  1. 职场笔记[0702]:用户体验和创业
  2. 团队项目个人进展——Day05
  3. 游戏开发需要具备哪些技术_生鲜小程序需要具备哪些功能板块?生鲜小程序开发...
  4. ?类型 ,?类型(值)
  5. 树形动规_(技能树)
  6. 收藏 | 关于Mac Dock的10 个隐藏终端命令
  7. Have Fun with Numbers及循环链表(约瑟夫问题)
  8. vmware fusion 文件共享_颜值至上,杜伽fusion我是真的被它的颜值吸引了
  9. Css实现页面元素置顶时悬浮
  10. CODEVS 3657 括号序列
  11. adblock android插件,adblock plus
  12. 计算机无法上网修复工具,lsp怎么修复解决上不了网问题汇总
  13. 如何让微信公众号的排名靠前些,文章的排名规则
  14. 跟论文作者要源码和数据集的邮件怎么写
  15. Python 开发环境Spyder介绍 【初学者友好】
  16. win8连接wifi成功但受限制_连接wifi成功但受限制如何解决 连接wifi成功但受限制解决【步骤】...
  17. c++日志库实战——spdlog,是不是感觉log4cxx有点笨重,不妨试一试spdlog
  18. 部署tomcat、nginx整合tomcat、tomcat+memcached集群
  19. reduce函数及其用法
  20. docker跨主机网络——overlay与macvlan

热门文章

  1. 浅析ASP.NET页面缓存的几点体会
  2. java token生成和验证_SpringBoot集成JWT生成token及校验方法过程解析
  3. spyder编辑器报ModuleNotFoundError: No module named ‘pymongo‘,明明已经安装上了pymongo扩展
  4. 区分柱状图(条形图)和直方图
  5. 对一千万条数据进行排序---编程珠玑第二版 第一章
  6. 佳能单反相机二次开发包介绍_家用单反相机什么牌子好
  7. java换脸_随意换脸 · ink-image/api Wiki · GitHub
  8. python微信聊天机器人_python实战项目,使用itchat模块制作微信聊天机器人
  9. docker安装redis(最新)
  10. php 单元测试 静态类,可选的PHP类型提示/检查单元测试或静态分析?