0
私はMNISTデータセットで遊んでいますが、私はそれほど理解していない次のことに遭遇しました。しかしながらMNISTをPythonでバイトで読む
struct.pack('i', 60000)
>> '`\xea\x00\x00'
:従って
[offset] [type] [value] [description]
0000 32 bit integer 0x00000801(2049) magic number (MSB first)
0004 32 bit integer 60000 number of items
0008 unsigned byte ?? label
0009 unsigned byte ?? label
........
xxxx unsigned byte ?? label
The labels values are 0 to 9.
私があるとアイテムの数(60,000)に対応し、バイト4-8期待、次のよう documentationに係るデータがフォーマットされています私は、ファイルのバイトごとを読んだとき、彼らは逆の順序であるように、それが見えます:
with gzip.open(path_to_file, 'rb') as f:
print struct.unpack('cccc', f.read(4))
for i in range(4):
print struct.unpack('c', f.read(1))
>> ('\x00', '\x00', '\x08', '\x01')
>> ('\x00', '\x00', '\xea', '`')
明らかに、私は期待順序を得るためにそれらを逆にすることができますが、私はconfuですなぜバイトが逆転しているように見えるのか、