美文网首页
mnist 数据集

mnist 数据集

作者: 大魔王是本人 | 来源:发表于2017-10-13 20:26 被阅读20次

    读取mnist数据

    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

    首先该数据是以二进制存储的,我们读取的时候要以’rb’方式读取;其次,真正的数据只有[value]这一项,其他的[type]等只是来描述的,并不真正在数据文件里面。也就是说,在读取真实数据之前,我们要读取4个32 bit integer.由[offset]我们可以看出真正的pixel是从0016开始的,一个int 32位,所以在读取pixel之前我们要读取4个 32 bit integer,也就是magic number, number of images, number of rows, number of columns. 当然,在这里使用struct.unpack_from()会比较方便.

    Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本)

    Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签)

    Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)

    Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)

    loadMNISTImages

    最后得到images为二维矩阵,labels为一维矩阵。

    相关文章

      网友评论

          本文标题:mnist 数据集

          本文链接:https://www.haomeiwen.com/subject/gultuxtx.html