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

  • 万家乐e2热水器故障怎么解决(万家乐热水器e2故障排除)

    万家乐e2热水器故障怎么解决(万家乐热水器e2故障排除)

  • 新客首单红包用不了(为什么新客首单红包用不了)

    新客首单红包用不了(为什么新客首单红包用不了)

  • 苹果手机限速怎么解除(苹果手机限速怎么回事)

    苹果手机限速怎么解除(苹果手机限速怎么回事)

  • u盘泡水了还有用吗(u盘泡水后会坏掉吗)

    u盘泡水了还有用吗(u盘泡水后会坏掉吗)

  • 华为matex折叠屏是什么屏幕

    华为matex折叠屏是什么屏幕

  • 内存中存放的只有程序代码吗(内存中存放的是当前正在执行的程序和所需的数据)

    内存中存放的只有程序代码吗(内存中存放的是当前正在执行的程序和所需的数据)

  • breeno怎样扫二维码连WiFi(breeno怎么扫一扫)

    breeno怎样扫二维码连WiFi(breeno怎么扫一扫)

  • 抖音充不了币怎么回事(抖音充不进抖币)

    抖音充不了币怎么回事(抖音充不进抖币)

  • 华为nova7pro来电闪光灯怎么设置(华为nova7pro来电闪光灯怎么开)

    华为nova7pro来电闪光灯怎么设置(华为nova7pro来电闪光灯怎么开)

  • 快手里面的视频怎么拍的(快手里面的视频小故事哪里找)

    快手里面的视频怎么拍的(快手里面的视频小故事哪里找)

  • 为什么格式工厂转换视频失败(为什么格式工厂转换成MP4格式时总是失败?)

    为什么格式工厂转换视频失败(为什么格式工厂转换成MP4格式时总是失败?)

  • 闲鱼收货时间是多久(闲鱼收货是什么意思)

    闲鱼收货时间是多久(闲鱼收货是什么意思)

  • oppo手机横屏怎么关掉(OPPO手机横屏怎么截屏)

    oppo手机横屏怎么关掉(OPPO手机横屏怎么截屏)

  • 开启横屏模式啥意思(何为横屏模式)

    开启横屏模式啥意思(何为横屏模式)

  • 快手怎么删除订单记录(快手怎么删除订单了还是显示常购好物)

    快手怎么删除订单记录(快手怎么删除订单了还是显示常购好物)

  • 微信怎么找到草稿箱(微信草稿箱在哪里)

    微信怎么找到草稿箱(微信草稿箱在哪里)

  • 心若芷萱是什么意思(心若芷兰网名好不好)

    心若芷萱是什么意思(心若芷兰网名好不好)

  • 抖音直播怎么关弹幕和礼物(抖音直播怎么关静音)

    抖音直播怎么关弹幕和礼物(抖音直播怎么关静音)

  • 红米not8pro有呼吸灯吗(红米note8pro呼叫转移怎么设置)

    红米not8pro有呼吸灯吗(红米note8pro呼叫转移怎么设置)

  • 抖音怎么只设置一个市(抖音怎么只设置城市)

    抖音怎么只设置一个市(抖音怎么只设置城市)

  • 两台显示器连接一台主机怎么连(两台显示器连接一台主机后相当于)

    两台显示器连接一台主机怎么连(两台显示器连接一台主机后相当于)

  • ae时间线怎么延长(ae怎么让时间线到哪就在哪块播放)

    ae时间线怎么延长(ae怎么让时间线到哪就在哪块播放)

  • mqa62ch/a是什么机型(mqa62ch/a是什么版本)

    mqa62ch/a是什么机型(mqa62ch/a是什么版本)

  • 荣耀20门禁卡怎么用(荣耀门禁卡怎么在手机上使用)

    荣耀20门禁卡怎么用(荣耀门禁卡怎么在手机上使用)

  • 华为t2281怎么和蓝牙耳机配对(华为ter-b29s怎么连接手机)

    华为t2281怎么和蓝牙耳机配对(华为ter-b29s怎么连接手机)

  • 怎样设置PPT中文本对齐(怎样设置PPT中文字出来的顺序)

    怎样设置PPT中文本对齐(怎样设置PPT中文字出来的顺序)

  • word怎么删除索引标记(word中怎么删除)

    word怎么删除索引标记(word中怎么删除)

  • scanexplicit.exe - scanexplicit是什么进程 作用是什么

    scanexplicit.exe - scanexplicit是什么进程 作用是什么

  • s.exe - s是什么进程 有什么用(lsass.exe是什么进程)

    s.exe - s是什么进程 有什么用(lsass.exe是什么进程)

  • 个人所得税汇算清缴截止日期
  • 销售分哪几类
  • 实收资本印花税怎么申报税目
  • 为什么盈利要利润亏损要扣除所得税
  • 企业可以一次性补交员工十年养老保险吗
  • 驾驶员行车补贴开什么发票
  • 汇算清缴税费怎么入账
  • 分期收款开具发票可以吗
  • 承兑 拆分
  • 固定资产超过注册资金怎么处理
  • 预付设备款如何缴纳印花税
  • 销售方针有哪些
  • 计提城市建设维护税
  • 营改增后手写发票还能用吗
  • 混合销售举例说明
  • 企业为生产线员工怎么办
  • 核算错误和重分类错误
  • 制作费用怎么转入成本
  • 支付给外单位的押金是其他应收款吗
  • windows7中右键的作用
  • 腾讯手游助手怎么把游戏放到桌面
  • 如何将win11笔记本连接到家庭打印机上
  • 三大期间费用属于什么类
  • 事业单位坏账准备的计提方法
  • 无形资产入账包括增值税吗
  • 大型机械拆装
  • 工业危废处理的前景
  • windows7部分的更新安装失败怎么办?
  • PHP json_encode() 函数详解及中文乱码问题
  • 网速变慢的原因有哪些
  • 记账凭证的摘要怎么填写
  • 鸿蒙系统如何隐藏文件
  • windows 10月更新
  • 解决打呼噜只需一杯水
  • 应付职工薪酬的明细科目有哪些
  • 以旧换新方式销售货物,以实际收取的价格
  • 所有者权益类的期末余额公式
  • 允许税前扣除的税金
  • php处理并发有哪些技术
  • mac环境搭建
  • 微信小店的入口在哪里
  • react usereducer
  • 哪些收据可以入账且可以税前抵扣
  • 补税分录
  • 资金账簿印花税怎么算
  • 未入账的发票可以抵扣吗
  • 本月无开票企业怎么报税
  • 现金流量表哪些数据和资产负债表一致
  • 当月扣缴的社保是上个月的吗
  • 增值税普通发票和普通发票一样吗
  • 帝国cms phpcms
  • 企业资产的范围
  • 固定资产原值增加当月计提折旧吗
  • 异地多缴纳预缴税怎么退
  • 专项附加可以随便填吗
  • 建筑安装工程公司起名
  • 以前年度应收账款错误如何调整
  • 债权投资持有期间的账务处理
  • 广交会展务
  • 会计法中单位负责人均指法定代表人
  • 什么是财产行为税举例
  • 房产增值税发票可以抵税吗
  • 收到加盟费应该怎么做账
  • 长期股权投资减值准备是什么意思
  • 收到补助款的会计分录
  • 什么是现金流量表分析的重点
  • ubuntu20设置ip
  • 苹果电脑的重新启动在哪里
  • centos和rhel
  • linux 磁盘情况
  • xp系统改win7系统设置
  • windows8.1u盘安装教程
  • perl $?
  • photon server 限制防火墙
  • windows2003服务器管理器在哪里
  • js中调用java
  • unity引擎叫什么
  • 不用jquery用什么
  • 去伪存真栏目为什么取消啦
  • 房产税怎么申报操作流程视频
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设