永发信息网

java导入mnist后怎样识别一个数字

答案:2  悬赏:20  手机版
解决时间 2021-04-11 04:49
java导入mnist后怎样识别一个数字
最佳答案
其实就是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()

只是为了测试是否成功所以只读了一张图片
全部回答

创建了一个jlist的实例名为ist,创建时调用有参构造方法,并传入参数iltems。切实例被final修饰。

你的new jlist(iltems) 应该是写错了,构造方法名称与类名一致。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
企业邮箱如何登录,企业邮箱怎么样登录?
单选题They got two free ti
去哪能下载psp3000的游戏呀?
全球通办理立即生效么?需不需要换卡
我手机下载软件总是说服务器出问题是怎么回事
比亚迪速锐智能钥匙从新匹配正钥匙,副钥匙还
艺线园过桥米线(金水源店)在哪里啊,我有事要
单选题氮是植物体内的重要元素之一,下列物质
月下飞天镜的下句?
到底是男生好还是女生好?
增上缘的爱染明王心咒法器灵验吗?
五凌水电开发有限责任公司住宅小区停车场(出
一辆货车平均每小时行ɑ千米,一辆卡车平均每
想了解一下用竹壳做的一次性餐具,有没有版权
单选题对旅游中以情观景含义的理解,正确的是
推荐资讯
六岁的小孩喝了开口十多天的雪碧会怎么样
妈妈与11位同事聚餐,共消费991.2元,如果采用
澳柯玛长江路店我想知道这个在什么地方
云贵高原和四川盆地在同一纬度为什么接受太阳
汽车加错了轻油怎么办
箭牌卫浴和yingweiyu哪个好
靖州苗族侗族自治县怀化胡妈妈地址在什么地方
单选题“欧罗巴人天文推算之密,工匠制作之巧
裕丰电器照明商行地址在哪,我要去那里办事
中国国际贸易促进委员会(长沙)商事法律咨询与
已知,a、b、c为△ABC的边长,b、c满足(b-2
psp电影下载网站
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?