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

  • 采购普通发票和专用发票的区别
  • 中国电子口岸证书错误
  • 上年城市维护建设税退税怎么记账
  • 税收分类编码不可用是什么原因
  • 无形资产减值损失可以转回吗
  • 有形资产净值是指
  • 购买财务软件账务处理规定
  • 企业垫付土地补偿款
  • 一般纳税人17%增值税发票按12%核算如何进行账务处理?
  • 出口进项税额转出怎么做账务处理
  • 软件企业增值税退税的账务处理
  • 已经入账的发票能把原始票据退回吗
  • 小微企业享受优惠
  • 关于发票入账的会计分录
  • 存货周转天数计算公式是360还是365
  • 银行贷款受托支付受托人有风险吗
  • 对公账户转账有延迟吗
  • 核定征收和查账征收,交的税一样吗
  • 华为鸿蒙系统开发平台
  • 抵扣联必须当月认证吗
  • 小型微利企业怎么认定最新标准
  • 生产废料怎么处理会计分录
  • 海关进口增值税专用缴款书
  • mac怎么彻底删除一个软件
  • qq登录界面的设计与实现
  • 虚拟机安装apache
  • 补缴的土地出让金契税
  • PQV2ISECURITY.EXE - PQV2ISECURITY是什么进程 有什么用
  • PHP:pcntl_wstopsig()的用法_PCNTL函数
  • 集团公司内部结构是什么
  • 记账凭证和会计分录的区别
  • 国家规定发票多久之内可以开
  • 分配水电费会计分录需要写税吗?
  • php浮点数四舍五入
  • 基于骨骼关键点的动作识别
  • javascript手机编程
  • 【小沐学C++】C++ MFC中嵌入web网页控件(WebBrowser、WebView2、CEF3)
  • vue3项目中使用el-dialog
  • php自定义函数实现计算整数的四次方
  • 企业办理工程价款流程
  • 发票查询密码区空白怎么回事
  • 出口视同内销怎么申报
  • 电子发票开出后如何查看
  • 什么是注册资本
  • 设计公司成本核算分录
  • 公司购买劳保用品可以抵扣吗
  • 买下土地
  • 企业固定资产可以不提折旧吗
  • 以货物抵债的会计分录
  • 哪些合同不用交社保
  • 备品和备件的定义
  • 减免税款借方余额
  • 长期待摊费用什么时候结束摊销
  • 新手学会计怎么学
  • mysql的分区表
  • MYSQL updatexml()函数报错注入解析
  • mysql数据库性能监控
  • mysql innode
  • mysql7.x单独安装mysql的方法
  • xp系统玩游戏卡吗
  • 在windows上装ubuntu
  • u盘安装centos7安装详细图解
  • windows7怎么添加设备
  • ubuntu服务器安装matlab2014a环境配置
  • c盘里面放什么
  • winxp开机黑屏只有光标
  • s24evmon.exe - s24evmon是什么进程 有什么用
  • 微软系统如何恢复出厂设置
  • win8平板玩lol
  • 遮罩层中对象的作用是
  • bootstrap基础教程
  • js开发组件
  • 方块大人
  • 批处理在windows中的典型应用
  • 编写注册表文件
  • jquery确认取消对话框
  • python如何编程
  • 夫妻双方房子契税怎么算
  • 车辆购置税退税申请表
  • 郑州地方税务局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设