Bộ dữ liệu MNIST - Các tệp .gz không chứa byte thô


0

Tôi đang cố gắng sử dụng Bộ dữ liệu MNIST . Tuy nhiên, khi tôi tải xuống tệp hình ảnh .gz và sau đó giải nén nó, tôi nhận được rất nhiều byte "nén". Đây là một chút về nó:

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

Tôi nghĩ rằng ít nhất đây là các byte "nén". Tuy nhiên, theo "trình giải thích định dạng tệp" ở cuối trang, nội dung của tệp phải là một số nguyên 32 bit và sau đó là một loạt các byte không dấu. Rõ ràng, đây không phải là những gì tôi đang thấy.
Điều gì gây ra điều này xảy ra? Có phải vì tôi nhấp đúp vào tệp .gz? Có phải vì tôi đã không giải nén tập tin một cách chính xác? Có phải là do thiếu kiến ​​thức kỹ thuật, và đây là cách các tập tin được cho là?
Về cơ bản những gì tôi đã nói ở trên là làm thế nào để bạn khắc phục vấn đề và làm thế nào để bạn giải quyết nó.
Nhân tiện: Tôi đang dùng Mac OS 10.13.3. Tệp đã được tải xuống từ Google Chrome

Câu trả lời:


1

nội dung của tệp phải là một số nguyên 32 bit và sau đó là một loạt các byte không dấu. Rõ ràng, đây không phải là những gì tôi đang thấy.

Không, đó chính xác là những gì bạn đang thấy.

Tất cả các tập tin bao gồm các byte thô; mọi thứ khác là vấn đề giải thích và phụ thuộc vào chương trình bạn đang mở tệp.

Nếu bạn mở tệp trong trình soạn thảo văn bản, nó sẽ cố gắng hiển thị văn bản. Nó sẽ không bao giờ hiển thị các giá trị byte thô, mà chỉ hiển thị các ký tự tương ứng từ bảng ASCII (hoặc từ Unicode hoặc một bảng mã khác).

Tuy nhiên, trang tải xuống MNIST không làm nói rằng dữ liệu của bạn sẽ được ghi lại dưới dạng số thập phân trong ASCII. Thay vào đó, nó trực tiếp sử dụng các giá trị byte để mã hóa dữ liệu: một "số nguyên 32 bit" được trải trên bốn byte (mỗi bit 8 bit); một "byte không dấu" là, tốt, một byte.

Nói tóm lại, tệp đã tải xuống ở định dạng tùy chỉnh yêu cầu phần mềm đặc biệt để giải thích nó; một trình soạn thảo văn bản sẽ không làm. Thay thế:

  • Bạn có thể mở tệp trong một "trình soạn thảo hex" chương trình. Biên tập viên hex làm hiển thị các giá trị byte thô (chúng có nghĩa là đặc biệt để chỉnh sửa các tệp nhị phân), mặc dù bạn vẫn có thể hiểu được dữ liệu được hiển thị.

  • Bạn có thể viết một chương trình ngắn để chuyển đổi dữ liệu sang định dạng văn bản. Định dạng ban đầu mà MNIST mô tả là đủ đơn giản, ví dụ như đó là 5 dòng Python10.

  • Các tệp chứa dữ liệu đồ họa - bitmap thô, dưới dạng một loạt pixel. Vì vậy, với một số chương trình khác, chúng có thể được chuyển đổi thành một loạt các tệp hình ảnh (BMP, GIF hoặc PNG).


Oh. Tôi không biết gì về dữ liệu nên ...: P
Hazard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.