位置: IT常识 - 正文

MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码)

编辑:rootadmin
MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】 前言

推荐整理分享MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mnist数据集下载卡住了怎么办,mnist数据集下载导入,mnist数据集下载卡住了怎么办,mnist数据集下载官网,mnist数据集下载码,MNIST数据集下载,mnist数据集下载400张,MNIST数据集下载,内容如对您有帮助,希望把文章链接给更多的朋友!

训练模型的时候经常会使用MNIST数据集来训练模型,那么如何获取到MNIST数据集呢?博主经过实践后,总结了经验,希望能帮助到屏幕前的你使用MNIST数据集。

目录

前言

1 下载MNIST数据集文件

2 解析idx3-ubyte文件

2.1 解析训练集

2.2解析测试集

3.运行py文件


1 下载MNIST数据集文件

由于MNIST数据集是在外网发布,下载比较慢,博主把MNIST放在了百度网盘中

链接:https://pan.baidu.com/s/1V-4FOePbTyBG7qZ7ge_TqQ?pwd=dw2i  提取码:dw2i

下载到本地后,把gz后缀压缩包进行解压缩

其中包含4个文件,详细介绍如下表所示:

 

 图表来源转自:MNIST数据集_保持理智802的博客-CSDN博客_mnist数据集

2 解析idx3-ubyte文件

接下来我们要把idx3-ubyte文件转换成图片形式

MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码)

分别转换训练集和测试集,博主使用的是pycharm

2.1 解析训练集

train-images.idx3-ubyte和train-labels.idx1-ubyte分别是训练集的图片和标签,其中数据/标签文件位置需要进行修改成你本地训练集保存的位置。

import numpy as npimport structfrom PIL import Imageimport osdata_file = r'D:\postgraduate\DUT\tpds\malicious_node\MNIST_data\train-images.idx3-ubyte'# It's 47040016B, but we should set to 47040000Bdata_file_size = 47040016data_file_size = str(data_file_size - 16) + 'B'data_buf = open(data_file, 'rb').read()magic, numImages, numRows, numColumns = struct.unpack_from( '>IIII', data_buf, 0)datas = struct.unpack_from( '>' + data_file_size, data_buf, struct.calcsize('>IIII'))datas = np.array(datas).astype(np.uint8).reshape( numImages, 1, numRows, numColumns)label_file = r'D:\postgraduate\DUT\tpds\malicious_node\MNIST_data\train-labels.idx1-ubyte'# It's 60008B, but we should set to 60000Blabel_file_size = 60008label_file_size = str(label_file_size - 8) + 'B'label_buf = open(label_file, 'rb').read()magic, numLabels = struct.unpack_from('>II', label_buf, 0)labels = struct.unpack_from( '>' + label_file_size, label_buf, struct.calcsize('>II'))labels = np.array(labels).astype(np.int64)datas_root = 'mnist_train'if not os.path.exists(datas_root): os.mkdir(datas_root)for i in range(10): file_name = datas_root + os.sep + str(i) if not os.path.exists(file_name): os.mkdir(file_name)for ii in range(numLabels): img = Image.fromarray(datas[ii, 0, 0:28, 0:28]) label = labels[ii] file_name = datas_root + os.sep + str(label) + os.sep + \ 'mnist_train_' + str(ii) + '.png' img.save(file_name)2.2解析测试集

t10k-labels.idx3-ubyte和t10k-labels.idx1-ubyte分别是测试集的图片和标签,其中数据/标签文件位置需要进行修改成你本地测试集保存的位置。

import numpy as npimport structfrom PIL import Imageimport osdata_file = r'D:\postgraduate\DUT\tpds\malicious_node\MNIST_data\t10k-images.idx3-ubyte'# It's 7840016B, but we should set to 7840000Bdata_file_size = 7840016data_file_size = str(data_file_size - 16) + 'B'data_buf = open(data_file, 'rb').read()magic, numImages, numRows, numColumns = struct.unpack_from( '>IIII', data_buf, 0)datas = struct.unpack_from( '>' + data_file_size, data_buf, struct.calcsize('>IIII'))datas = np.array(datas).astype(np.uint8).reshape( numImages, 1, numRows, numColumns)label_file = r'D:\postgraduate\DUT\tpds\malicious_node\MNIST_data\t10k-labels.idx1-ubyte'# It's 10008B, but we should set to 10000Blabel_file_size = 10008label_file_size = str(label_file_size - 8) + 'B'label_buf = open(label_file, 'rb').read()magic, numLabels = struct.unpack_from('>II', label_buf, 0)labels = struct.unpack_from( '>' + label_file_size, label_buf, struct.calcsize('>II'))labels = np.array(labels).astype(np.int64)datas_root = 'mnist_test'if not os.path.exists(datas_root): os.mkdir(datas_root)for i in range(10): file_name = datas_root + os.sep + str(i) if not os.path.exists(file_name): os.mkdir(file_name)for ii in range(numLabels): img = Image.fromarray(datas[ii, 0, 0:28, 0:28]) label = labels[ii] file_name = datas_root + os.sep + str(label) + os.sep + \ 'mnist_test_' + str(ii) + '.png' img.save(file_name)3.运行py文件

运行上述两个py文件后,会在项目的根目录下分别生成两个文件夹:

 

其中,mnist_train有6w个图片,minst_test有1w个图片。

大功告成,接下来就可以开始训练模型啦!!!

本文链接地址:https://www.jiuchutong.com/zhishi/296174.html 转载请保留说明!

上一篇:Auto.js的介绍(auto.js 教程)

下一篇:目标检测算法——YOLOv5/v7/v8改进结合涨点Trick之Wise-IoU(超越CIOU/SIOU)(运动目标检测算法)

  • 华为p40pro多厚呢(华为p40pro的机身尺寸是多少)

    华为p40pro多厚呢(华为p40pro的机身尺寸是多少)

  • 华为p40如何隐藏应用图标(华为p40如何隐藏照片)

    华为p40如何隐藏应用图标(华为p40如何隐藏照片)

  • 苹果手机facetime通话花钱吗(苹果手机facetime通话怎么激活不了)

    苹果手机facetime通话花钱吗(苹果手机facetime通话怎么激活不了)

  • 用户名不匹配什么意思(用户名密码不匹配)

    用户名不匹配什么意思(用户名密码不匹配)

  • 抖音同城怎么设置不感兴趣(抖音同城怎么设置距离从近到远优先)

    抖音同城怎么设置不感兴趣(抖音同城怎么设置距离从近到远优先)

  • Boss直聘账号被锁定了怎么办(boss直聘账号被锁定申诉范文)

    Boss直聘账号被锁定了怎么办(boss直聘账号被锁定申诉范文)

  • 苹果手机屏幕颜色异常(苹果手机屏幕颜色)

    苹果手机屏幕颜色异常(苹果手机屏幕颜色)

  • 微信朋友圈提醒谁看是什么意思(微信朋友圈提醒对方看,对方会知道是你在提醒他看吗)

    微信朋友圈提醒谁看是什么意思(微信朋友圈提醒对方看,对方会知道是你在提醒他看吗)

  • 任天堂续航版和普通版区别(任天堂续航版和非续航版的区别)

    任天堂续航版和普通版区别(任天堂续航版和非续航版的区别)

  • 手机自动接听电话怎么回事(手机自动接听电话软件)

    手机自动接听电话怎么回事(手机自动接听电话软件)

  • 快手消息通知栏不显示通知(快手消息通知栏怎么设置)

    快手消息通知栏不显示通知(快手消息通知栏怎么设置)

  • 电脑防火墙有必要开吗(电脑防火墙的重要性)

    电脑防火墙有必要开吗(电脑防火墙的重要性)

  • 便宜的网线会不会影响网速(便宜的网线会不会卡)

    便宜的网线会不会影响网速(便宜的网线会不会卡)

  • 荣耀v30可以反向充电吗(荣耀v30可以反向充电嘛)

    荣耀v30可以反向充电吗(荣耀v30可以反向充电嘛)

  • ipad晚上需要关机吗(ipad每天晚上需要关机吗)

    ipad晚上需要关机吗(ipad每天晚上需要关机吗)

  • 抖音可以连接拼多多吗(抖音怎么连接拼多多)

    抖音可以连接拼多多吗(抖音怎么连接拼多多)

  • xp连投影仪怎么设置

    xp连投影仪怎么设置

  • 抖音可以查访客记录吗(抖音可以查访客记录的时间吗)

    抖音可以查访客记录吗(抖音可以查访客记录的时间吗)

  • 微信头像怎么删除(微信头像怎么删除历史头像)

    微信头像怎么删除(微信头像怎么删除历史头像)

  • airpods有哪些功能(airpods哪些功能)

    airpods有哪些功能(airpods哪些功能)

  • 智能语音为什么会越来越火爆(智能语音为什么不能帮我们擦手)

    智能语音为什么会越来越火爆(智能语音为什么不能帮我们擦手)

  • 移动数据关闭还走流量(移动数据关闭还偷跑流量)

    移动数据关闭还走流量(移动数据关闭还偷跑流量)

  • 【JavaScript 进阶教程】数组新增遍历方法的说明与使用(js进阶视频教程)

    【JavaScript 进阶教程】数组新增遍历方法的说明与使用(js进阶视频教程)

  • 项目部署,一点也不难!(项目部署计划)

    项目部署,一点也不难!(项目部署计划)

  • 小微企业第一季度不符合条件怎么处理
  • 中小型企业库存的问题及对策
  • 企业所得税研发费用怎么填
  • 工业企业的三个阶段
  • 2021年工作绩效未达标扣工资
  • 总公司收回未分配利润如何入账?
  • 采购商品未收到分录
  • 提取公积金收费比例
  • 公允价值变动税务处理
  • 分包工程有哪些风险
  • 一般纳税人开技术服务费
  • 新办企业地税要备案吗
  • 饭店收停车费
  • 增值税普票新规定
  • 兼营非应税劳务行为举例
  • 变更税务登记证法人需要哪些资料
  • 中小企业社保优惠延长政策
  • 现金短缺属于出纳员负责如何做会计处理
  • 员工罚款可以从工资里扣吗
  • 房产中介如何收取中介费
  • 事业单位收到开办费的会计分录
  • 无形资产原值增加,净值减少的原因
  • php如何解决异常处理
  • 如何解决windows蓝屏问题
  • php中split
  • 企业购入的专利权属于什么
  • 普通发票丢了如何入账
  • php imagettftext()函数
  • vue3框架的优点
  • 客户多付款入哪个科目
  • 股东垫付款怎么处理
  • yolov5的使用
  • vue3+ts+vite
  • 应付国库集中支付结余在什么时候确认
  • css中字体样式设置
  • 认识数据库思维导图
  • 毕业设计基于web难还是JAVA
  • springmvc常见问题
  • 董事长报销应该是怎样的流程
  • 处置子公司利润表怎么处理
  • dedecms更新
  • 批处理命令在windows操作中的典型应用
  • 基金赎回可以赎回部分吗
  • 公司车辆违章
  • 商场预付卡
  • 分支机构可不可以不建账合并到总机构?
  • 咋样理解
  • 招待费住宿费专票可以抵扣吗
  • 其他应付款通俗
  • 运输费增值税专用发票
  • 结算专用章是财务章吗
  • centos7.9命令
  • Windows Server 2008故障转移群集简介
  • linux系统的电脑如何共享
  • 使用组策略可控制什么
  • un安装失败
  • xp系统安装版合集
  • tar解压工具
  • gain_trickler_3202.exe 进程查询 gain_trickler_3202进程是什么文件
  • linux使用rpm安装软件
  • win7操作技巧
  • virtualbox怎么打开虚拟机
  • Node.js + Redis Sorted Set实现任务队列
  • 前端node跨域处理
  • 批处理常用命令
  • django实现登录注册功能
  • c# opengl 3d
  • js怎么用jquery
  • linux 删除inode
  • TNet Tasharen Networking 学习总结
  • android怎么样
  • 给shell脚本传参数
  • unity3d入门视频教程
  • libgdx robovm admob IOS SDK的绑定
  • 安卓开发速成
  • 以非gradle方式将 Eclipse 项目导入Android Studio
  • 保障性住房是否可以买卖
  • 精准扶贫有哪些分类措施
  • 建筑业按多少税收
  • 太原公交车咨询电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设