MNIST数据集:解析train-images-idx3-ubyte格式

  • idx3-ubyte 表示这是一个三维数组的 ubyte (unsigned byte) 格式数据(图片数据)。

  • idx1-ubyte 表示这是一个一维数组的 ubyte 格式数据(标签)。

train-images-idx3-ubyte 文件按照以下格式保存:

1.文件头

  • 前 4 个字节表示魔数 0x00000803(以小端字节序存储),表示 3 维数组的 ubyte 格式。

  • 接下来 4 个字节表示图像数量 60000

  • 再接下来 4 个字节表示行数 28

  • 最后 4 个字节表示列数 28

2.图像数据

  • 文件头之后的数据部分就是所有图像的像素值。

  • 每个图像的像素值是按照行优先的顺序依次存储的。

  • 每个像素值都是一个 8 位无符号整数(0-255)。

import struct
import numpy as np
import matplotlib.pyplot as plt

def load_mnist_images(filename):
    """
    读取 MNIST 图像文件并返回图像数据
    """
    with open(filename, 'rb') as f:
        # 读取文件头信息
        magic, num_images, rows, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值