
import torch
import torchvision
import torchvision.transforms as transforms
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5), (0.5))
])
trainset = torchvision.datasets.MNIST(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=20, shuffle=True, num_workers=2)
testset = torchvision.datasets.MNIST(root='./data', train=False, download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=20, shuffle=False, num_workers=2)
for i, data in enumerate(trainloader, 0):
inputs, labels = data[0], data[1]
需要修改transforms.Normalize((0.5),(0.5)),0.5后面加逗号,
问题分析:可能是pytorch版本导致的。
将代码改为:
img_transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
type((0.5)) # <type 'float'>
type((0.5,)) # <type 'tuple'>
参考:
(24条消息) Pytorch-IndexError: too many indices for tensor of dimension 0_Virogous的博客-优快云博客
该博客主要讨论了一个在使用PyTorch DataLoader时遇到的问题,即‘Too many indices for tensor of dimension 0’错误。作者指出,这可能由PyTorch版本引起,并提供了修正方案,将`transforms.Normalize((0.5),(0.5))`更正为`transforms.Normalize((0.5,),(0.5,))`。博客还介绍了如何检查变量类型,以确保它们是正确的元组。解决方案包括更新代码以避免该错误,从而正确加载MNIST数据集。
1万+

被折叠的 条评论
为什么被折叠?



