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

  • 2017款ipad是什么型号(ipad 2017是)

    2017款ipad是什么型号(ipad 2017是)

  • 支付宝怎么更改实名认证(支付宝怎么更改支付方式的顺序)

    支付宝怎么更改实名认证(支付宝怎么更改支付方式的顺序)

  • iphone充电器一面冲不上(苹果充电头有一面充电没反应)

    iphone充电器一面冲不上(苹果充电头有一面充电没反应)

  • 电脑锁屏后无法唤醒(电脑锁屏后无法唤醒怎么办)

    电脑锁屏后无法唤醒(电脑锁屏后无法唤醒怎么办)

  • 手机bt功能是什么意思

    手机bt功能是什么意思

  • dc调光会加速烧屏吗(dc调光会耗电吗)

    dc调光会加速烧屏吗(dc调光会耗电吗)

  • 苹果蓝牙橙色灯一直闪(苹果蓝牙橙色灯不亮)

    苹果蓝牙橙色灯一直闪(苹果蓝牙橙色灯不亮)

  • 奇异果会员怎么在手机上用(奇异果会员怎么买便宜)

    奇异果会员怎么在手机上用(奇异果会员怎么买便宜)

  • 电话关机了别人打电话来开机能有未接电话么(电话关机了别人能打过来)

    电话关机了别人打电话来开机能有未接电话么(电话关机了别人能打过来)

  • 快手怎么发图片集(怎么在快手发送图片)

    快手怎么发图片集(怎么在快手发送图片)

  • 小米9和小米8指纹版区别(小米8 小米9)

    小米9和小米8指纹版区别(小米8 小米9)

  • qq注册手机号有风险怎么办(qq注册手机号有危险吗)

    qq注册手机号有风险怎么办(qq注册手机号有危险吗)

  • 苹果xsmax停产了吗(苹果xsmax停产了吗 为什么还能买到)

    苹果xsmax停产了吗(苹果xsmax停产了吗 为什么还能买到)

  • 苹果11手机信号不好怎么办(苹果11手机信号下面四个点怎么设置的)

    苹果11手机信号不好怎么办(苹果11手机信号下面四个点怎么设置的)

  • 网卡驱动卸载了怎么还原(网卡驱动卸载了怎么办)

    网卡驱动卸载了怎么还原(网卡驱动卸载了怎么办)

  • 在wps中如何画横线(在wps中如何画横线和竖线)

    在wps中如何画横线(在wps中如何画横线和竖线)

  • b站怎么设置特别关注(b站怎么设置特别关注更新提醒)

    b站怎么设置特别关注(b站怎么设置特别关注更新提醒)

  • qq送的礼物在哪里提现(qq送礼物在哪里去了)

    qq送的礼物在哪里提现(qq送礼物在哪里去了)

  • 怎么将c盘的内存扩大(怎么将C盘的内容转到u盘里)

    怎么将c盘的内存扩大(怎么将C盘的内容转到u盘里)

  • ps标尺工具怎么用(ps标尺工具怎么看长度)

    ps标尺工具怎么用(ps标尺工具怎么看长度)

  • 安卓系统更新怎么关闭(安卓系统更新怎么弄)

    安卓系统更新怎么关闭(安卓系统更新怎么弄)

  • wps里的段落在哪儿(wps office中段落在哪找)

    wps里的段落在哪儿(wps office中段落在哪找)

  • 怎样修改gmail Google Play 密码(怎样修改电脑开机密码)

    怎样修改gmail Google Play 密码(怎样修改电脑开机密码)

  • 拍抖音怎么添加音乐(拍抖音怎么添加歌词)

    拍抖音怎么添加音乐(拍抖音怎么添加歌词)

  • 什么是税收滞纳金请举例说明
  • 季报业务活动表本月数
  • 抵扣的发票可以部分红冲吗
  • 购货方跨年红冲发票会计分录
  • 从一个公司到另一个公司公积金
  • 企业筹办期间可以贷款吗
  • 票据结算的分录怎么做
  • 商家促销怎么做
  • 服务业发票丢失怎么处理
  • 固定资产盘盈可计入
  • 工程项目垃圾清运项目编码
  • 提供应税服务营改增的应税服务不包括什么
  • 年初未分配利润加本年净利润等于
  • 企业怎么进行税务申报
  • 公司发票限额按什么计算
  • 上月有留抵的进项税额本月会计分录
  • 外方获得的利润怎么算
  • 为什么增值税不影响利润
  • 员工工伤单位垫付
  • 合同负债属于什么费用
  • 个人所得税哪些可以专项扣除
  • 发票来了冲预付账款怎么记账
  • 公积金补缴上月算断缴吗
  • 如何用u盘装系统知乎
  • 鼠标怎么设置为右键功能
  • 部shu
  • macos big sur怎么恢复出厂设置
  • 股东可以随时退出吗
  • win7无法打开打印机
  • 电脑前面板耳机没声音怎么设置bios
  • msg0.db是什么文件
  • 固定资产残料收税吗
  • 融资租赁怎么做到表外
  • php composer自动加载
  • php 延迟
  • 微前端Qiankun 子应用css后加载问题
  • 增值税专用发票查询系统官方网站
  • 办公用品属于会计科目中的什么
  • 前端cli搭建
  • 如何根据科目余额表编制财务报表
  • 应交税费的主要成本
  • 长期借款的核算分为哪三个阶段
  • 金税盘发票报送失败怎么办
  • 科技型中小企业有什么好处
  • 银行主账户和子账户能独立使用吗
  • 三票合一的发票什么意思
  • 购入的设备用于研发怎样记账
  • 以前年度损益调整
  • 设备维修会计分录如何写
  • 未确认融资费用摊销额怎么计算
  • 注销时其他应付款怎么冲平
  • 对外担保的效力
  • 旅行社差额征收税率多少
  • 库存商品如何结转生产成本
  • 应收账款期初余额错了怎么调整
  • 收到票据款
  • 不动产什么时候取得所有权
  • 合同取得成本如何收回
  • 现金流量为负的原因
  • sql server 用法
  • 如何在windows server 2016如何加域
  • 在基于Xen的CentOS系统VPS上配置PPTP VPN的教程
  • securecrt keymap
  • 在xp系统中设置u盘启动
  • win7系统关闭开机启动项设置
  • win7定时关机没反应
  • ie的进程
  • win7启动应用程序的方式
  • win10如何创建一个新的用户
  • 阴影映射可视域分析
  • 深入了解求助者时,首先要进行工作是
  • jquery结合html实现中英文页面切换
  • 运算符优先级由高到低的顺序
  • go 与 python
  • 深入php面向对象、模式与实践第5版 电子书
  • django 表单
  • python simpy
  • jquery滚动条滚动事件
  • 山东省税务局网站首页
  • 地税服务费算什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设