나는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에서 다운로드되었습니다.
답변1
파일의 내용은 32비트 정수여야 하고 부호 없는 바이트 묶음이어야 합니다. 분명히 이것은 내가 보는 것이 아닙니다.
아니, 그게 바로 당신이 보고 있는 것입니다.
모두파일은 원시 바이트로 구성됩니다. 그 밖의 모든 것은 해석의 문제이며 파일을 여는 프로그램에 따라 다릅니다.
텍스트 편집기에서 파일을 열면 텍스트가 표시됩니다. 원시 바이트 값은 표시되지 않고 ASCII 테이블(또는 유니코드 또는 다른 코드 페이지)의 해당 문자만 표시됩니다.
그러나 MNIST 다운로드 페이지는하지 않습니다귀하의 데이터가 ASCII의 10진수로 기록될 것이라고 가정합니다. 대신 바이트 값을 직접 사용하여 데이터를 인코딩합니다. "32비트 정수"는 4바이트(각각 8비트)에 분산됩니다. "부호 없는 바이트"는 1바이트입니다.
즉, 다운로드한 파일은 이를 해석하기 위해 특수 소프트웨어가 필요한 사용자 정의 형식입니다. 텍스트 편집기는 작동하지 않습니다. 대신에:
다음 위치에서 파일을 열 수 있습니다."16진수 편집기"프로그램. 16진수 편집기하다원시 바이트 값을 표시합니다(이진 파일을 편집하기 위해 특별히 의미됨). 표시된 데이터를 이해하는 것은 여전히 사용자의 몫입니다.
데이터를 텍스트 형식으로 변환하는 짧은 프로그램을 작성할 수 있습니다. MNIST가 설명하는 원래 형식은 예를 들어 Python의 약 5~10줄 정도로 간단합니다.
파일에는 그래픽 데이터(일련의 픽셀로 구성된 원시 비트맵)가 포함되어 있습니다. 따라서 좀 더 프로그래밍을 하면 일련의 이미지 파일(BMP, GIF 또는 PNG)로 변환할 수 있습니다.