MNIST-Datensatz - .gz-Dateien enthalten keine „rohen“ Bytes

MNIST-Datensatz - .gz-Dateien enthalten keine „rohen“ Bytes

Ich versuche, dieMNIST-Datensatz. Wenn ich jedoch die .gz-Bilddatei herunterlade und dann entpacke, erhalte ich eine Menge „komprimierter“ Bytes. Hier ist ein Ausschnitt davon:

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

Ich denke, das sind zumindest „komprimierte“ Bytes. Laut der „Dateiformat-Erklärung“ unten auf der Seite sollte der Inhalt der Datei jedoch aus einigen 32-Bit-Ganzzahlen und dann einer Reihe vorzeichenloser Bytes bestehen. Das ist offensichtlich nicht das, was ich sehe.
Was verursacht das? Liegt es daran, dass ich auf die .gz-Datei doppelgeklickt habe? Liegt es daran, dass ich die Datei nicht richtig dekomprimiert habe? Liegt es an mangelndem technischen Wissen und die Dateien sollen so sein?
Im Grunde habe ich oben gesagt, wie man das Problem behebt und wie man es löst.
Übrigens: Ich verwende Mac OS 10.13.3. Die Datei wurde von Google Chrome heruntergeladen.

Antwort1

Der Inhalt der Datei sollte aus einigen 32-Bit-Ganzzahlen und einer Reihe vorzeichenloser Bytes bestehen. Das ist offensichtlich nicht das, was ich sehe.

Nein, das ist genau das, was Sie sehen.

AlleDateien bestehen aus Rohbytes; alles andere ist Interpretationssache und hängt davon ab, mit welchem ​​Programm Sie die Datei öffnen.

Wenn Sie die Datei in einem Texteditor öffnen, wird versucht, Text anzuzeigen. Es werden niemals Rohbytewerte angezeigt, sondern nur die entsprechenden Zeichen aus der ASCII-Tabelle (oder aus Unicode oder einer anderen Codepage).

Die MNIST-Downloadseitenichtsagen, dass Ihre Daten als Dezimalzahlen in ASCII geschrieben werden. Stattdessen werden Bytewerte direkt zur Datenkodierung verwendet: eine „32-Bit-Ganzzahl“ wird auf vier Bytes (jeweils 8 Bit) verteilt; ein „vorzeichenloses Byte“ ist, nun ja, ein Byte.

Kurz gesagt, die heruntergeladene Datei hat ein benutzerdefiniertes Format, für dessen Interpretation spezielle Software erforderlich ist. Ein Texteditor reicht nicht aus. Stattdessen:

  • Sie können die Datei in einem"Hex-Editor"Programm. Hex-EditorenTunZeigen Sie Rohbytewerte an (diese sind speziell für die Bearbeitung von Binärdateien gedacht), obwohl es immer noch Ihnen überlassen bleibt, wie Sie die angezeigten Daten interpretieren.

  • Sie könnten ein kurzes Programm schreiben, um die Daten in ein Textformat zu konvertieren. Das ursprüngliche Format, das MNIST beschreibt, ist so einfach, dass es beispielsweise 5–10 Zeilen Python umfassen würde.

  • Die Dateien enthalten grafische Daten – Rohbitmaps als Reihe von Pixeln. Mit etwas mehr Programmierung könnten sie also in eine Reihe von Bilddateien (BMP, GIF oder PNG) umgewandelt werden.

verwandte Informationen