содержимое файла должно состоять из 32-битных целых чисел, а затем из набора байтов без знака. Очевидно, это не то, что я вижу.
Нет, это именно то, что вы видите.
Все файлы состоят из необработанных байтов; все остальное зависит от интерпретации и зависит от того, с какой программой вы открываете файл.
Если вы откроете файл в текстовом редакторе, он попытается показать текст. Он никогда не будет отображать необработанные байтовые значения, а только соответствующие символы из таблицы ASCII (или из Unicode или другой кодовой страницы).
Однако на странице загрузки MNIST не сказано, что ваши данные будут записаны в ASCII в виде десятичных чисел. Вместо этого он напрямую использует байтовые значения для кодирования данных: «32-разрядное целое число» распределяется на четыре байта (по 8 бит каждый); "неподписанный байт" - это, ну, один байт.
Короче говоря, загруженный файл имеет собственный формат, который требует специального программного обеспечения для его интерпретации; текстовый редактор не подойдет. Вместо:
Вы можете открыть файл в программе "hex editor" . Hex редактора делают показывают значения сырых байт (они предназначены специально для редактирования бинарных файлов), хотя это все еще до вас, чтобы сделать какой - либо смысл данных, что показано.
Вы можете написать короткую программу для преобразования данных в текстовый формат. Исходный формат, описанный MNIST, достаточно прост, например, это будет примерно 5–10 строк Python.
Файлы содержат графические данные - необработанные растровые изображения в виде серии пикселей. Таким образом, при некотором программировании их можно преобразовать в серию файлов изображений (BMP, GIF или PNG).