数据读取之Endianness

在读取MNIST数据集时,要注意的一个事情是,MNIST的数据存储采用的是high endian(也作big endian,即大端),高位字节存储在低位。big endian通常为网络中传输数据使用的字节序。

与big endian相对的是little endian,通常我们使用的Intel、amd处理器都是使用这种字节序的,两者的区别可见wikipedia

所以,在加载MNIST数据集时,我们需要将字节序反过来,例如,在Julia中,可以使用下面函数

# convert "0x60ea0000" to "0x0000ea60"
ntoh(x)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.