Pytorch教程(十六):FashionMNIST数据集DataSet DataLoader
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))
,这样轴就满足了图像的功能需要的规格。
现在我们知道了dataset
和dataloader
之间如何交互的了。现在试试如何批量处理数据:
Pytorch教程(十六):FashionMNIST数据集DataSet DataLoader相关推荐
- Wix 安装部署教程(十六) -- 自动生成多语言文件
Wix 安装部署教程(十六) -- 自动生成多语言文件 原文:Wix 安装部署教程(十六) -- 自动生成多语言文件 因为持续集成需要,所有项目编译完之后生成一个多语言的安装包.之前生成mst文件都是 ...
- 【Visual C++】游戏开发四十八 浅墨DirectX教程十六 三维地形系统的实现
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...
- 群晖NAS教程(十六)、利用Docker安装GitLab管理代码工具
为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 群晖NAS教程(十六).利用Docker安装GitLab管理代码工具 群晖DSM上安装GitLab有两种方式,一种是直接在群晖套件上安装,另一种是 ...
- 【Visual C++】游戏开发四十八 浅墨DirectX教程十六 三维地形系统的实现
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8685546 作者:毛星云(浅墨) ...
- Cesium教程(十六):动态数据三维可视化
Cesium教程(十六):动态数据三维可视化 1.Cesium时间系统 Cesium时间系统在动态数据可视化中发挥着重要作用. 2.动态数据格式CZML CZML是Cesium团队制定的一种用来描述动 ...
- 从零开始学Pytorch(十六)之模型微调
微调 在前面的一些章节中,我们介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型.我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1,000万的图像 ...
- SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)
一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发 ...
- Flask教程(十六)RESTful-API
软硬件环境 windows 10 64bit anaconda3 with python 3.7 pycharm 2020.1.2 flask 1.1.2 flask-restful 0.3.8 简介 ...
- nCode:DesignLife案例教程十六
nCode:DesignLife 案例十六--基于DesignLife的短纤维复合材料的疲劳分析 16.1 案例文件 16.2 目标 16.3 检查FE结果 16.4 定义分析流程 16.5 检查结果 ...
最新文章
- 职场笔记[0702]:用户体验和创业
- 团队项目个人进展——Day05
- 游戏开发需要具备哪些技术_生鲜小程序需要具备哪些功能板块?生鲜小程序开发...
- ?类型 ,?类型(值)
- 树形动规_(技能树)
- 收藏 | 关于Mac Dock的10 个隐藏终端命令
- Have Fun with Numbers及循环链表(约瑟夫问题)
- vmware fusion 文件共享_颜值至上,杜伽fusion我是真的被它的颜值吸引了
- Css实现页面元素置顶时悬浮
- CODEVS 3657 括号序列
- adblock android插件,adblock plus
- 计算机无法上网修复工具,lsp怎么修复解决上不了网问题汇总
- 如何让微信公众号的排名靠前些,文章的排名规则
- 跟论文作者要源码和数据集的邮件怎么写
- Python 开发环境Spyder介绍 【初学者友好】
- win8连接wifi成功但受限制_连接wifi成功但受限制如何解决 连接wifi成功但受限制解决【步骤】...
- c++日志库实战——spdlog,是不是感觉log4cxx有点笨重,不妨试一试spdlog
- 部署tomcat、nginx整合tomcat、tomcat+memcached集群
- reduce函数及其用法
- docker跨主机网络——overlay与macvlan
热门文章
- 浅析ASP.NET页面缓存的几点体会
- java token生成和验证_SpringBoot集成JWT生成token及校验方法过程解析
- spyder编辑器报ModuleNotFoundError: No module named ‘pymongo‘,明明已经安装上了pymongo扩展
- 区分柱状图(条形图)和直方图
- 对一千万条数据进行排序---编程珠玑第二版 第一章
- 佳能单反相机二次开发包介绍_家用单反相机什么牌子好
- java换脸_随意换脸 · ink-image/api Wiki · GitHub
- python微信聊天机器人_python实战项目,使用itchat模块制作微信聊天机器人
- docker安装redis(最新)
- php 单元测试 静态类,可选的PHP类型提示/检查单元测试或静态分析?