Набор данных MNIST - файлы .gz не содержат «сырых» байтов

358
Hazard

Я пытаюсь использовать набор данных 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

0

1 ответ на вопрос

1
grawity

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

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

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

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

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

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

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

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

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

Ой. Я ничего не знаю о данных, так что ...: P Hazard 6 лет назад 0

Похожие вопросы