Я пытаюсь использовать набор данных MNIST. Однако, когда я загружаю файл изображения .gz, а затем распаковываю его, я получаю много "сжатых" байтов. Вот немного из этого:

'Tπüó<$fi˛˛˛˛Ò∆∆∆∆∆∆∆∆™4CrHr£„˛·˛˛˛˙²˛åBCCC;Ï˛jS˝—ÈˇSÅ˛Ó,;˘˛>Ö˛ª   
Õ¯:~˛∂K˚9›˛¶À˛€#&˛˛M‡˛sÖ˛˛4=Ú˛˛4y˛˛€(y˛œt}´ˇˇñ]©˝˝˝˝˝˝⁄©˝˝˝’é∞˝˝z4˙˝“ 
Œ˝åM˚“z¯˝A—˝˝Au˜˝∆
L˜˝Á?Ä˝˝ê∞ˆ˝üÍ˝È#∆˝˝çN¯˝Ω»˝˝çÜ˝˝≠

Я думаю, что это "сжатые" байты, по крайней мере. Однако, согласно "объяснителю формата файла" в нижней части страницы, содержимое файла должно состоять из 32-битных целых чисел, а затем из набора байтов без знака. Очевидно, это не то, что я вижу.
Что является причиной этого? Это потому, что я дважды щелкнул файл .gz? Это потому, что я не распаковал файл правильно? Это из-за недостатка технических знаний, и именно так и должны быть файлы?
В основном то, что я сказал выше, было о том, как решить проблему и как ее решить.
Кстати: я на Mac OS 10.13.3. Файл был загружен из Google Chrome

1 ответ1

1

содержимое файла должно состоять из 32-битных целых чисел, а затем из набора байтов без знака. Очевидно, это не то, что я вижу.

Нет, это именно то, что вы видите.

Все файлы состоят из необработанных байтов; все остальное зависит от интерпретации и зависит от того, с какой программой вы открываете файл.

Если вы откроете файл в текстовом редакторе, он попытается показать текст. Он никогда не будет отображать необработанные значения байтов, а только соответствующие символы из таблицы ASCII (или из Unicode или другой кодовой страницы).

Однако на странице загрузки MNIST не сказано, что ваши данные будут записаны в ASCII в виде десятичных чисел. Вместо этого он напрямую использует байтовые значения для кодирования данных: «32-разрядное целое число» распределяется на четыре байта (по 8 бит каждый); "неподписанный байт" - это, ну, один байт.

Короче говоря, загруженный файл имеет собственный формат, который требует специального программного обеспечения для его интерпретации; текстовый редактор не подойдет. Вместо:

  • Вы можете открыть файл в программе "hex editor" . Hex редактора действительно показывают значения сырых байт (они предназначены специально для редактирования бинарных файлов), хотя это все еще до вас , чтобы сделать какой - либо смысл данных , что показано.

  • Вы можете написать короткую программу для преобразования данных в текстовый формат. Исходный формат, описанный MNIST, достаточно прост, например, это будет примерно 5–10 строк Python.

  • Файлы содержат графические данные - необработанные растровые изображения в виде серии пикселей. Таким образом, при некотором программировании их можно преобразовать в серию файлов изображений (BMP, GIF или PNG).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .