MNIST-Dataset - .gz-Dateien enthalten keine "rohen" Bytes

352
Hazard

Ich versuche, den MNIST-Datensatz zu verwenden . Wenn ich jedoch die .gz-Image-Datei herunterlade und sie dann entpacke, bekomme ich eine Menge "komprimierter" Bytes. Hier ist ein bisschen 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. Gemäß dem "Dateiformat-Erklärungsprogramm" am unteren Rand der Seite sollte der Inhalt der Datei jedoch einige 32-Bit-Ganzzahlen und dann eine Menge unsignierter Bytes sein. Offensichtlich sehe ich das nicht.
Was bewirkt das? Liegt es daran, dass ich auf die GZ-Datei geklickt habe? Liegt es daran, dass ich die Datei nicht richtig dekomprimiert habe? Liegt es an mangelndem technischem Wissen, und so sollen die Dateien sein?
Grundsätzlich habe ich oben gesagt, wie Sie das Problem beheben und wie Sie es lösen.
Übrigens: Ich bin auf einem Mac OS 10.13.3. Die Datei wurde von Google Chrome heruntergeladen

0

1 Antwort auf die Frage

1
grawity

Der Inhalt der Datei sollte aus einigen 32-Bit-Ganzzahlen und dann aus einer Reihe von vorzeichenlosen Bytes bestehen. Offensichtlich sehe ich das nicht.

Nein, genau das sehen Sie.

Alle Dateien bestehen aus rohen Bytes. Alles andere ist eine 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 rohe Bytewerte angezeigt, sondern nur die entsprechenden Zeichen aus der ASCII-Tabelle (oder aus Unicode oder einer anderen Codepage).

Die MNIST-Download-Seite besagt jedoch nicht, dass Ihre Daten in ASCII als Dezimalzahlen notiert werden. Stattdessen werden Byte-Werte direkt zum Codieren von Daten verwendet: Eine "32-Bit-Ganzzahl" ist auf vier Bytes (jeweils 8 Bit) verteilt. Ein "vorzeichenloses Byte" ist 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 öffnen . Hex - Editoren tun Roh - Byte - Werte zeigen (sie sind speziell für die Bearbeitung von Binärdateien gemeint ist ), obwohl es immer noch bis zu Ihnen jeden Sinn der Daten zu machen, die angezeigt wird .

  • Sie könnten ein kurzes Programm schreiben, um die Daten in ein Textformat zu konvertieren. Das Originalformat, das MNIST beschreibt, ist so einfach, dass es zum Beispiel 5 bis 10 Zeilen Python wäre.

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

Oh. Ich weiß nichts über Daten, also ...: P Hazard vor 6 Jahren 0