You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch中MNIST数据集存储格式及自定义数据集加载问题咨询

MNIST数据集存储格式说明

首先明确:PyTorch的datasets.MNIST下载的并不是png、jpg、jpeg或npy格式的文件,而是MNIST官方提供的二进制字节文件(ubyte格式),具体包括:

  • 训练集图像:train-images-idx3-ubyte.gz
  • 训练集标签:train-labels-idx1-ubyte.gz
  • 测试集图像:t10k-images-idx3-ubyte.gz
  • 测试集标签:t10k-labels-idx1-ubyte.gz

这些压缩包下载后会自动解压到你指定的./data/MNIST/raw目录下,这类ubyte格式是MNIST专门定义的存储规范,直接以字节形式存储像素值和标签数据,不需要像普通图像文件那样解码。

针对你的代码和自定义数据集问题的提示

  1. MNIST预处理冗余提示:你的transform里的transforms.Resize((28,28))可以删除,因为MNIST原始图像本身就是28x28的尺寸,这一步操作没有必要。
  2. 自定义数据集加载注意事项:
    • 如果你的自定义数据集是png/jpg这类常规图像文件,可使用datasets.ImageFolder(适合按类别分文件夹的结构),或者自定义Dataset子类实现加载逻辑
    • 确保自定义数据集输出的张量形状与MNIST一致:单通道灰度图要转为(1, 28, 28)的格式(通道在前),和你的transform流程(ToTensor()会把HWC转为CHW)匹配
    • 归一化参数要和自定义数据集的像素分布匹配,避免直接照搬MNIST的(0.5, 0.5)(如果你的数据集像素范围不是[0,1]的话)

内容的提问来源于stack exchange,提问作者Dude Rar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 00:05:23