文件格式

数据集解压后一共四个文件,官网给每个文件的格式做了详细的说明

使用open函数读取文件

以训练集图片和标签读取为例,测试集读取方法一样

1 训练集图片读取

import matplotlib.pyplot as plt# 以二进制方式打开文件train-images-idx3-ubyte
image_file = open("./myData/mnist/MNIST/raw/train-images-idx3-ubyte","rb")
# 通过官网可知,前4行为说明信息,不是图片信息,每行4个字节,也即是前4*4个字节先读取出来
description = image_file.read(16)
# 读取完16个字节后开始读取图片,由官网可知,图片大小为28*28=784个像素组成
# 文件格式说明中每一个字节代表一个像素,所以只需读取784个字节即可代表一张图片
image_bytes = image_file.read(784)
# 可以通过matplotlib将灰度图绘制出来,在绘制之前,还需把字节串转变为二维的整数列表
# 将字节串转为以为整数列表
image = []
count = 0
for row in range(28):line = []for column in range(28):line.append(float(image_bytes[count]))count += 1image.append(line)
# 绘制灰度图
plt.imshow(image,'gray')

2 训练集标签读取

# 以二进制方式打开文件train-labels-idx1-ubyte
labe_file = open("./myData/mnist/MNIST/raw/train-labels-idx1-ubyte","rb")
# 通过官网可知,前2行为说明信息,不是图片信息,每行4个字节,也即是前4*2个字节先读取出来
description = labe_file.read(8)
# 读取完8个字节后开始读取图片,由官网可知,标签大小为1个字节,取值在0-9
# 文件格式说明中每一个字节代表一个标签,所以只需读取1个字节即可代表一个标签
# 假设读取128个标签
labe_bytes = labe_file.read(128)
# 转为整数列表
labe_list = [i for i in labe_bytes]
print(labe_list)
[5, 0, 4, 1, 9, 2, 1, 3, 1, 4, 3, 5, 3, 6, 1, 7, 2, 8, 6, 9, 4, 0, 9, 1, 1, 2, 4, 3, 2, 7, 3, 8, 6, 9, 0, 5, 6, 0, 7, 6, 1, 8, 7, 9, 3, 9, 8, 5, 9, 3, 3, 0, 7, 4, 9, 8, 0, 9, 4, 1, 4, 4, 6, 0, 4, 5, 6, 1, 0, 0, 1, 7, 1, 6, 3, 0, 2, 1, 1, 7, 9, 0, 2, 6, 7, 8, 3, 9, 0, 4, 6, 7, 4, 6, 8, 0, 7, 8, 3, 1, 5, 7, 1, 7, 1, 1, 6, 3, 0, 2, 9, 3, 1, 1, 0, 4, 9, 2, 0, 0, 2, 0, 2, 7, 1, 8, 6, 4]

手动读取MNIST数据集相关推荐

  1. TensorFlow读取MNIST数据集错误的问题

    TensorFlow读取mnist数据集错误的问题 运行程序出现"URLError"错误的问题 可能是服务器或路径的原因,可以自行下载数据集后,将数据集放到代码所在的文件夹下,并将 ...

  2. 读取mnist数据集方法大全(train-images-idx3-ubyte.gz,train-labels.idx1-ubyte等)(python读取gzip文件)

    文章目录 gzip包 keras读取mnist数据集 本地读取mnist数据集 下载数据集 解压读取 方法一 方法二 gzip包读取 读取bytes数据 注:import导入的包如果未安装使用pip安 ...

  3. python 读取 MNIST 数据集,并解析为图片文件

    python 读取 MNIST 数据集,并解析为图片文件 MNIST 是 Yann LeCun 收集创建的手写数字识别数据集,训练集有 60,000 张图片,测试集有 10,000 张图片.数据集链接 ...

  4. MNIST手写数字数据集格式,如何读取MNIST数据集?

    数据集下载地址:http://yann.lecun.com/exdb/mnist/ TRAINING SET LABEL FILE (train-labels-idx1-ubyte):[offset] ...

  5. Python读取MNIST数据集

    MNIST数据集下载地址:http://yann.lecun.com/exdb/mnist/ 读取MINST数据集第一张图像并显示 # coding=utf-8 import numpy as np ...

  6. 十分钟搞懂Pytorch如何读取MNIST数据集

    前言 本文用于记录使用pytorch读取minist数据集的过程,以及一些思考和疑惑吧- 正文 在阅读教程书籍<深度学习入门之Pytorch>时,文中是如此加载MNIST手写数字训练集的: ...

  7. 利用numpy读取mnist数据集

    读取并分析如下四个文件 'train-images-idx3-ubyte' 'train-labels-idx1-ubyte' 't10k-images-idx3-ubyte' 't10k-label ...

  8. 用Numpy读取MNIST数据集(附已经读取完成的mat文件)

    MNIST是常用的手写字符数据集 可以在杨立昆的网站下载此数据集:http://yann.lecun.com/exdb/mnist/ 该数据集的存储方式比较特殊,是用二进制格式存储的,以下是网站对数据 ...

  9. python调用数据集mnist_Python读取MNIST数据集

    importnumpy as npimportmatplotlib.pyplot as plt'''试验transpose() def back (a,b): return a,b if __name ...

  10. mnist数据集保存为图片

    #coding: utf-8 from tensorflow.examples.tutorials.mnist import input_data import scipy.misc import o ...

最新文章

  1. android监控来电显示
  2. 无关标签的一般长文本网页正文内容抽取
  3. Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版
  4. IOS流水布局UICollectionView使用FlowLayout进行自由灵活组合
  5. hdu 4049 Tourism Planning [ 状压dp ]
  6. 怎么把计算机改程序,怎样修改程序软件
  7. 的标题形状工具在哪里_自媒体如何搜集素材?标题、文章、图片素材收集3大途径!...
  8. 深度人脸表情识别研究进展
  9. 基于ViSual Studio 2013 + MYSQL9_5302 + Navicat for MySQL9_5302的ATM自动存取款系统
  10. 陈广老师 C#语言参考视频打包下载地址
  11. kubernetes集群Pod详细信息为Failed create pod sandbox,缺失镜像google_containers/pause-amd64.3.0解决方法
  12. 一个简单的JavaWeb项目
  13. 动图体积太大怎么缩小?教你一招快速压缩gif
  14. django 过滤器-查询集-比较运算符-FQ对象-mysql的命令窗口
  15. 测试晶面间距软件_i-TEM软件测量TEM高分辨像晶面间距.PDF
  16. h5 页面唤起微信和qq
  17. FreeRTOS学习一(简介)
  18. html与css入门经典doc,HTML+CSS入门 flying-saucer如何利用HTML来生成PDF文件
  19. DLL注入的8种姿势
  20. linux termios 详解

热门文章

  1. cmder添加到系统变量中_Cmder详细设置
  2. 安装moodle3.6
  3. 备忘--moodle安装
  4. vb2010 连接mysql,VB连接数据库方式汇总
  5. vb连接mysql数据库报错_vb6连接mysql数据库
  6. java webrtc视频会议_JAVA webRtc的实现视频会议系统
  7. 221028| STATA制图代码
  8. eXeScope 注册机制破解
  9. UNIX 类文件系统模拟实现
  10. java extjs 教程_EXTJS入门教程及其框架搭建