我已经建立在Java中的图像分类,我想测试对这里提供的图像:http://yann.lecun.com/exdb/mnist/读一IDX文件类型在Java中
不幸的是,如果你下载的火车图像-的idx3-ubyte.gz或任何其他3个文件,他们都是文件类型:.idx1-ubyte
第一个问题: 我想知道是否有人可以给我说明如何使.idx1-ubyte位图(.bmp )文件?
第二个问题: 或者我怎样才能读取这些文件?
关于IDX文件格式的信息: IDX文件格式是各种数学类型的向量和多维矩阵的简单格式。 基本格式是:
magic number
size in dimension 0
size in dimension 1
size in dimension 2
.....
size in dimension N
data
该幻数是一个整数(MSB第一)。前2个字节总是为0
第三字节码的数据的类型:
0x08: unsigned byte
0x09: signed byte
0x0B: short (2 bytes)
0x0C: int (4 bytes)
0x0D: float (4 bytes)
0x0E: double (8 bytes)
的4个字节码的矢量/矩阵的维数:1为载体,2对于矩阵......
每个维度中的大小是4字节整数(MSB优先,高位,就像大多数非Intel处理器一样)。
数据存储方式类似于C数组,即最后一个维度中的索引变化最快。
我不能相信单词“直接”出现在原始字节和高端编码的上下文两次。不要试图成为史蒂夫·沃兹尼亚克,只是想要我的数据。真的,任何想法为什么他们这么复杂? –
这种灵魂(Joseph Redmon)在他的网站上提供了MNIST数据的csv下载:http://www.pjreddie.com/projects/mnist-in-csv/ –