Conjunto de datos MNIST: los archivos .gz no contienen bytes "sin procesar"

Conjunto de datos MNIST: los archivos .gz no contienen bytes "sin procesar"

Estoy tratando de usar elConjunto de datos MNIST. Sin embargo, cuando descargo el archivo de imagen .gz y luego lo descomprimo, obtengo muchos bytes "comprimidos". Aquí hay un poco de esto:

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

Creo que al menos se trata de bytes "comprimidos". Sin embargo, según la "explicación del formato de archivo" en la parte inferior de la página, el contenido del archivo debe ser algunos enteros de 32 bits y luego un montón de bytes sin firmar. Obviamente, esto no es lo que estoy viendo.
¿Qué está causando que esto suceda? ¿Es porque hice doble clic en el archivo .gz? ¿Será porque no descomprimí el archivo correctamente? ¿Se debe a falta de conocimiento técnico y así es como se supone que deben ser los archivos?
Básicamente, lo que dije anteriormente fue cómo solucionar el problema y cómo solucionarlo.
Por cierto: estoy en un Mac OS 10.13.3. El archivo fue descargado de Google Chrome.

Respuesta1

el contenido del archivo debe ser algunos enteros de 32 bits y luego un montón de bytes sin firmar. Obviamente, esto no es lo que estoy viendo.

No, eso es exactamente lo que estás viendo.

Todolos archivos constan de bytes sin formato; todo lo demás es una cuestión de interpretación y depende del programa con el que abras el archivo.

Si abre el archivo en un editor de texto, intentará mostrar texto. Nunca mostrará valores de bytes sin procesar, sino solo los caracteres correspondientes de la tabla ASCII (o de Unicode u otra página de códigos).

Sin embargo, la página de descarga de MNISTno esdiga que sus datos se escribirán como números decimales en ASCII. En su lugar, utiliza directamente valores de bytes para codificar datos: un "entero de 32 bits" se distribuye en cuatro bytes (8 bits cada uno); un "byte sin firmar" es, bueno, un byte.

En resumen, el archivo descargado tiene un formato personalizado que requiere un software especial para interpretarlo; un editor de texto no servirá. En cambio:

  • Podrías abrir el archivo en un"editor hexadecimal"programa. editores hexadecimaleshacermuestran valores de bytes sin procesar (están diseñados específicamente para editar archivos binarios), aunque todavía depende de usted darle sentido a los datos que se muestran.

  • Podría escribir un programa corto para convertir los datos a un formato textual. El formato original que describe MNIST es lo suficientemente simple como para tener entre 5 y 10 líneas de Python, por ejemplo.

  • Los archivos contienen datos gráficos: mapas de bits sin formato, como una serie de píxeles. Entonces, con un poco más de programación se podrían convertir a una serie de archivos de imágenes (BMP, GIF o PNG).

información relacionada