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

如何解读MNIST数据集生成的Tensor?关于形状与索引的疑问

问题解答

张量结构与索引逻辑说明

你的example_data形状为torch.Size([1000, 1, 28, 28]),这是PyTorch中图像张量的标准维度顺序:(样本数量, 通道数, 图像高度, 图像宽度)。

  • 当你取example_data[2]时,选中的是第3个样本(索引从0开始计数),此时这个子张量的形状是torch.Size([1, 28, 28])——它仍是一个3维张量,第一个维度对应通道数(MNIST是单通道灰度图,所以通道数为1)。
  • 而example_data[2][0]是在这个3维样本张量里,提取第0个通道(也就是唯一的灰度通道),此时得到的是torch.Size([28, 28])的2维张量,对应28行、每行28个像素值的图像矩阵,所以打印出来会是28个各含28个元素的一维数组。

说白了,加[0]是因为单个样本还带着通道维度,你需要去掉这个尺寸为1的维度,才能直接拿到图像的像素矩阵。你也可以用example_data[2].squeeze()替代example_data[2][0],squeeze()会自动移除所有尺寸为1的维度,结果同样是28×28的像素矩阵。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:20:24