PyTorch数据加载器为TorchVision MNIST添加额外维度

PyTorch数据加载器为TorchVision MNIST添加额外维度,pytorch,torchvision,Pytorch,Torchvision,我是PyTorch的新手,一直在试验DataLoader类。 当我尝试加载MNIST数据集时,DataLoader似乎在批处理维度之后添加了一个额外维度。我不确定是什么导致了这种情况的发生 导入火炬 从torchvision.dataset导入MNIST 从torchvision导入转换 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': mnist_train=mnist(root='./data',train=True,download=True,tran

我是PyTorch的新手,一直在试验DataLoader类。 当我尝试加载MNIST数据集时,DataLoader似乎在批处理维度之后添加了一个额外维度。我不确定是什么导致了这种情况的发生

导入火炬
从torchvision.dataset导入MNIST
从torchvision导入转换
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
mnist_train=mnist(root='./data',train=True,download=True,transform=transforms.Compose([transforms.ToTensor()]))
第一列x=mnist列数据[0]
打印(第一个形状)#期望看到[28,28],实际[28,28]
火车装载机=火炬.utils.data.DataLoader(mnist火车,批量大小=200)
批次x,批次y=下一批(iter(火车装载机))#获得第一批
打印(批处理形状)#期望看到[200,28,28],实际[200,1,28,28]
#1的额外尺寸从哪里开始?

有人能解释一下这个问题吗?

我想这就是输入图像的通道数。基本上是这样


batch_x.shape=批量大小、通道数、图像高度、图像宽度

我猜这就是输入图像的通道数。基本上是这样


batch_x.shape=批量大小、通道数、图像高度、图像宽度

看起来您是对的。传感器首先插入通道尺寸。看来你是对的。传感器首先插入通道尺寸。