位置: 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)(运动目标检测算法)

  • iphonex壁纸尺寸怎么调(iphonex 壁纸尺寸)

    iphonex壁纸尺寸怎么调(iphonex 壁纸尺寸)

  • 苹果录屏功能在哪里设置(苹果录屏功能在哪设置出来手机)

    苹果录屏功能在哪里设置(苹果录屏功能在哪设置出来手机)

  • 苹果手机内存怎么看(苹果手机内存怎么扩容)

    苹果手机内存怎么看(苹果手机内存怎么扩容)

  • 怎么看别人抖音的音浪多少(怎么看别人抖音点赞的人)

    怎么看别人抖音的音浪多少(怎么看别人抖音点赞的人)

  • 佳能打印机连不上手机(佳能打印机连不上网怎么回事)

    佳能打印机连不上手机(佳能打印机连不上网怎么回事)

  • 镜头上af和mf的区别(镜头上af和mf的键坏掉了)

    镜头上af和mf的区别(镜头上af和mf的键坏掉了)

  • 隐藏无效视频是什么意思(隐藏无效视频是啥意思)

    隐藏无效视频是什么意思(隐藏无效视频是啥意思)

  • qq体验版有什么不一样(qq体验版什么鬼)

    qq体验版有什么不一样(qq体验版什么鬼)

  • 手机微信打开特别慢怎么办(手机微信打开特别慢怎么回事)

    手机微信打开特别慢怎么办(手机微信打开特别慢怎么回事)

  • 手机无故发烫是什么原因(手机为何无故发烫)

    手机无故发烫是什么原因(手机为何无故发烫)

  • 电子计算器上ac键是什么键(电子计算器上AC)

    电子计算器上ac键是什么键(电子计算器上AC)

  • apple pencil怎么看电量(apple pencil怎么看充电状态)

    apple pencil怎么看电量(apple pencil怎么看充电状态)

  • 荣耀20有几层膜(荣耀20原装手机膜是什么膜)

    荣耀20有几层膜(荣耀20原装手机膜是什么膜)

  • vivo备忘录怎么添加图片(vivo手机手写签名)

    vivo备忘录怎么添加图片(vivo手机手写签名)

  • qq的字体怎么恢复(qq字体怎么恢复白底黑字)

    qq的字体怎么恢复(qq字体怎么恢复白底黑字)

  • 苹果的转移到ios在哪(苹果官网转移ios)

    苹果的转移到ios在哪(苹果官网转移ios)

  • x单卡还是双卡(苹果x单卡还是双卡)

    x单卡还是双卡(苹果x单卡还是双卡)

  • 阿尔法符号怎么打出来(阿尔法符号怎么打出来word)

    阿尔法符号怎么打出来(阿尔法符号怎么打出来word)

  • 微信别人发消息为什么没有显示(微信别人发消息不显示)

    微信别人发消息为什么没有显示(微信别人发消息不显示)

  • 电脑f4键是什么用(电脑功能键f4)

    电脑f4键是什么用(电脑功能键f4)

  • Linux下如何使用enca查看文件编码并转换?(linux -e -f)

    Linux下如何使用enca查看文件编码并转换?(linux -e -f)

  • Python人脸识别

    Python人脸识别

  • 【Linux】十分钟快速了解Linux常用指令(建议收藏)(linux时间12小时制)

    【Linux】十分钟快速了解Linux常用指令(建议收藏)(linux时间12小时制)

  • 解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location(vue uncaught typeerror)

    解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location(vue uncaught typeerror)

  • 分享帝国cms里 栏目列表模板获取同级栏目的方法(帝国cms wordpress)

    分享帝国cms里 栏目列表模板获取同级栏目的方法(帝国cms wordpress)

  • 企业税务包括哪些内容
  • 以前年度多缴的税款退回现金流量
  • 进口消费税应该记到什么科目
  • 没有认证的发票怎么做分录
  • 增值税负数发票可以作废吗?
  • 注销税务注意事项
  • 工资一直挂账未发可以吗
  • 写字楼注册公司对面积有要求吗
  • 资产负债表的资产方能够提供的信息包括
  • 预提返利的会计处理
  • 工地运输费是什么费用
  • 建筑工程劳务承包
  • 营改增服务业税率
  • 不能抵扣的进项税怎么做账
  • 一般纳税人简易征收3%
  • 增值税一般纳税人认定标准
  • 进项发票未抵扣部份开红冲后当月能抵扣吗?
  • 查账征收企业所得税年度申报
  • 税控盘怎么使用
  • 运输公司购买机票怎么买
  • 分期付款融资账务处理
  • 公司代缴的个税怎么查询
  • 出租柜台收取的服务费
  • mac辅助功能键盘
  • 收入的特征包括哪些
  • excel中怎么截取
  • 怎么获取免费的腾讯vip
  • 前期差错更正怎么理解
  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询
  • 交易性金融资产的交易费用计入哪里
  • 企业的组织形式共5种
  • php js
  • 一借多贷的会计分录格式
  • 滴滴发票开公司名称可以抵扣进项吗
  • 与资产相关的政府补助有哪些
  • 遮天传游戏视频
  • 支付国外佣金需要开票吗
  • 企业所得税核算分录
  • 收回多发的工资在上缴财政,可以用应缴财政款科目吗
  • 一般纳税人只有进项怎么报税
  • 直接人工费和应付职工薪酬
  • 客户要发票加收怎么办
  • 个税扣错了申请退税
  • mongodb快速入门
  • 预付卡账务处理在注会
  • 进项税通俗易懂
  • 补缴去年的附加税怎么算
  • 微信收款和支付宝收款有啥区别
  • SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
  • 红字发票的数量乘以单价可以不等于含税金额吗
  • 编制记账凭证的步骤
  • 金税盘注册码怎么查
  • 危废品处理费用会计处理
  • 周转材料应该计入什么科目
  • 生产加工企业辅导资料
  • 化妆品的成本利润率
  • 可供出售金融资产和交易性金融资产
  • 会计原始分录包括什么
  • 货已经收到未收到怎么办
  • 折扣 会计
  • 什么是发票抬头怎么填
  • 期末结账账务处理
  • ·exe病毒
  • win8系统怎么样
  • win8怎么外接屏幕
  • cocos2dx schedule
  • bat怎么设置
  • 简述android应用的常用开发模式及其优缺点
  • js的继承方式
  • shell脚本中判断grep的结果
  • python中flask模块
  • js中切割字符串
  • javascript XMLHttpRequest对象全面剖析
  • eclipse显示错误提示
  • Android eclipse for mac redo 快捷键
  • 原生js实现ajax步骤
  • 个税申报系统如何增加新单位
  • 个人工资扣税标准计算
  • 长春国税局科员工资是多少
  • 宁波国税发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设