Estou tentando usar oConjunto de dados MNIST. No entanto, quando faço o download do arquivo de imagem .gz e o descompacto, recebo muitos bytes "compactados". Aqui está um pouco disso:
'Tπüó<$fi˛˛˛˛Ò∆∆∆∆∆∆∆∆™4CrHr£„˛·˛˛˛˙²˛åBCCC;Ï˛jS˝—ÈˇSÅ˛Ó,;˘˛>Ö˛ª
Õ¯:~˛∂K˚9›˛¶À˛€#&˛˛M‡˛sÖ˛˛4=Ú˛˛4y˛˛€(y˛œt}´ˇˇñ]©˝˝˝˝˝˝⁄©˝˝˝’é∞˝˝z4˙˝“
Œ˝åM˚“z¯˝A—˝˝Au˜˝∆
L˜˝Á?Ä˝˝ê∞ˆ˝üÍ˝È#∆˝˝çN¯˝Ω»˝˝çÜ˝˝≠
Acho que são bytes "compactados", pelo menos. No entanto, de acordo com o "explicador de formato de arquivo" na parte inferior da página, o conteúdo do arquivo deve ser alguns números inteiros de 32 bits e, em seguida, um monte de bytes não assinados. Obviamente, não é isso que estou vendo.
O que está causando isso? É porque cliquei duas vezes no arquivo .gz? É porque não descompactei o arquivo corretamente? É por falta de conhecimento técnico e é assim que os arquivos deveriam ser?
Basicamente, o que eu disse acima foi como você resolve o problema e como você o resolve.
A propósito: estou em um Mac OS 10.13.3. O arquivo foi baixado do Google Chrome
Responder1
o conteúdo do arquivo deve ser alguns números inteiros de 32 bits e, em seguida, vários bytes não assinados. Obviamente, não é isso que estou vendo.
Não, é exatamente isso que você está vendo.
Todosos arquivos consistem em bytes brutos; todo o resto é uma questão de interpretação e depende do programa com o qual você está abrindo o arquivo.
Se você abrir o arquivo em um editor de texto, ele tentará mostrar o texto. Ele nunca mostrará valores de bytes brutos, mas apenas os caracteres correspondentes da tabela ASCII (ou de Unicode ou outra página de código).
No entanto, a página de download do MNISTnãodigamos que seus dados serão escritos como números decimais em ASCII. Em vez disso, ele usa diretamente valores de bytes para codificar dados: um "inteiro de 32 bits" é espalhado por quatro bytes (8 bits cada); um "byte não assinado" é, bem, um byte.
Resumindo, o arquivo baixado está em um formato personalizado que requer software especial para interpretá-lo; um editor de texto não serve. Em vez de:
Você pode abrir o arquivo em um"editor hexadecimal"programa. Editores hexadecimaisfazermostram valores de bytes brutos (eles são destinados especificamente à edição de arquivos binários), embora ainda dependa de você entender os dados mostrados.
Você poderia escrever um programa curto para converter os dados em um formato textual. O formato original descrito pelo MNIST é simples o suficiente para ter de 5 a 10 linhas de Python, por exemplo.
Os arquivos contêm dados gráficos – bitmaps brutos, como uma série de pixels. Assim, com um pouco mais de programação eles poderiam ser convertidos em uma série de arquivos de imagem (BMP, GIF ou PNG).