问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python 下怎么加载mnist

发布网友 发布时间:2022-04-24 08:18

我来回答

2个回答

懂视网 时间:2022-04-18 21:25

这篇文章主要介绍了python读取二进制mnist实例详解的相关资料,需要的朋友可以参考下

python读取二进制mnist实例详解

training data 数据结构:

<br>[offset] [type] [value] [description]
0000 32 bit integer 0x00000803(2051) magic number
0004 32 bit integer 60000 number of images
0008 32 bit integer 28 number of rows
0012 32 bit integer 28 number of columns
0016 unsigned byte ?? pixel
0017 unsigned byte ?? pixel
........
xxxx unsigned byte ?? pixel

将整个文件读入:

filename = 'train-images.idx3-ubyte'
binfile = open(filename , 'rb')
buf = binfile.read()

读取头四个32bit的interger:

index = 0
magic, numImages , numRows , numColumns = struct.unpack_from('>IIII' , buf , index)
index += struct.calcsize('>IIII')

读取一个图片,784=28*28 :

im = struct.unpack_from('>784B' ,buf, index)
index += struct.calcsize('>784B')
 
im = np.array(im)
im = im.reshape(28,28)
 
fig = plt.figure()
plotwindow = fig.add_subplot(111)
plt.imshow(im , cmap='gray')
plt.show()

热心网友 时间:2022-04-18 18:33

其实就是python怎么读取binnary
file
mnist的结构如下,选取train-images
TRAINING
SET
IMAGE
FILE
(train-images-idx3-ubyte):
[offset]
[type]
[value]
[description]
0000
32
bit
integer
0x00000803(2051)
magic
number
0004
32
bit
integer
60000
number
of
images
0008
32
bit
integer
28
number
of
rows
0012
32
bit
integer
28
number
of
columns
0016
unsigned
byte
??
pixel
0017
unsigned
byte
??
pixel
........
xxxx
unsigned
byte
??
pixel
也就是之前我们要读取4个
32
bit
integer
试过很多方法,觉得最方便的,至少对我来说还是使用
struct.unpack_from()
filename
=
'train-images.idx3-ubyte'
binfile
=
open(filename
,
'rb')
buf
=
binfile.read()
先使用二进制方式把文件都读进来
index
=
0
magic,
numImages
,
numRows
,
numColumns
=
struct.unpack_from('>IIII'
,
buf
,
index)
index
+=
struct.calcsize('>IIII')
然后使用struc.unpack_from
'>IIII'是说使用大端法读取4个unsinged
int32
然后读取一个图片测试是否读取成功
im
=
struct.unpack_from('>784B'
,buf,
index)
index
+=
struct.calcsize('>784B')
im
=
np.array(im)
im
=
im.reshape(28,28)
fig
=
plt.figure()
plotwindow
=
fig.add_subplot(111)
plt.imshow(im
,
cmap='gray')
plt.show()
'>784B'的意思就是用大端法读取784个unsigned
byte
完整代码如下
import
numpy
as
np
import
struct
import
matplotlib.pyplot
as
plt
filename
=
'train-images.idx3-ubyte'
binfile
=
open(filename
,
'rb')
buf
=
binfile.read()
index
=
0
magic,
numImages
,
numRows
,
numColumns
=
struct.unpack_from('>IIII'
,
buf
,
index)
index
+=
struct.calcsize('>IIII')
im
=
struct.unpack_from('>784B'
,buf,
index)
index
+=
struct.calcsize('>784B')
im
=
np.array(im)
im
=
im.reshape(28,28)
fig
=
plt.figure()
plotwindow
=
fig.add_subplot(111)
plt.imshow(im
,
cmap='gray')
plt.show()
只是为了测试是否成功所以只读了一张图片
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天将雄师观后感600字 为什么喝酒会降血糖 牛栏山 52度浓香型白酒-购买最佳价格 全兴大曲 52度浓香型白酒-购买最佳价格 笔记本电脑怎么接音箱电脑如何连接外置音箱 笔记本电脑有音箱插孔吗笔记本电脑如何连接喇叭 冰箱压缩机过热启动5秒就停了 周长相等的正方形和圆,其面积比是多少 周长相等的正方形和圆面积比是多少 周长相等的正方形与圆形,边长与半径的比是( ),面积之比是( )。 要有... 去惠州巽寮湾能玩什么? 用Python或MATLAB如何画三元平方和函数曲线??? 从台山去惠州巽寮湾自驾游怎样行 求惠州巽寮湾 双月湾自驾游攻略 从广州到巽寮湾自驾游怎么走 python中unknown property camp是什么意思 4人自驾游 去惠州的巽寮湾 不太清楚具体是怎样 想问下各位 为什么python代码正确但运行不了结果,求大神解决 惠州巽寮湾旅游美食购物全攻略 为什么python 不生成可执行文件 python是否有绘制混淆矩阵的函数,怎么来实现 惠州巽寮湾好玩吗?有什么娱乐项目?自驾游有什么攻略? 求梅州到惠州游玩攻略,主要巽寮湾,自驾游 巽寮湾自驾游路线 深圳周边1-2日自驾游好去处推荐,周末深圳自驾游去哪好玩? 顺德出发去惠州巽寮湾-惠州西湖两天自驾游怎样安排好自驾游 顺德出发去惠州巽寮湾-惠州西湖两天自驾游怎样安排好 湾有什么好玩的地方,巽寮湾旅游攻略 惠州巽寮湾旅游攻略??? 无线音箱(音响)充电要充多久对电池寿命最好? python里面一些简单代码的含义是什么?(题主零基础) 如何生成二维高斯与 Python 如何用python画好confusion matrix python basemap画地图急求救 python的pilot与scatter区别 跨境独立站那个平台建站好呀?独立站建站平台有哪些? 跨境独立站哪个平台好 化妆品里含有哪些成分是孕妇不能用的 独立站和跨境电商平台哪个更好做? 化妆品中含的什么成分对孕妇和胎儿有坏处 孕妇不能使用的化妆品成分有哪些 什么护肤品成分会对孕妇伤害比较大呢? 跨境电商的前景怎么样,选独立站还是平台好 哪些成分的护肤品是孕妇不可以用的? 孕妇护肤品成分禁用表有什么?孕妇可以用哪些护肤品? 化妆品中含有哪些成分对孕妇有影响? 孕妇不能用的护肤品成分有哪些?哪种影响比较大呢 里面有孕妇不能使用的化妆品成分? 孕妈妈千万不能触碰的化妆品物质是什么? 2020年跨境电商做平台好还是独立站好?