python - MNIST、torchvision 中的输出和广播形状不匹配
问题描述
在 Torchvision 中使用 MNIST 数据集时出现以下错误
RuntimeError: output with shape [1, 28, 28] doesn't match the broadcast shape [3, 28, 28]
这是我的代码:
import torch
from torchvision import datasets, transforms
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
])
trainset = datasets.MNIST('~/.pytorch/MNIST_data/', download=True, train=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)
images, labels = next(iter(trainloader))
解决方案
错误是由于数据集上的颜色与灰度,数据集是灰度的。
我通过将转换更改为来修复它
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
推荐阅读
- linux - Cannot build Nvidia on kernel 5.0.0-32-generic
- ios - UISearchController glitches when placed in UINavigationItem - iOS 11+
- .htaccess - Redirect non existing link with htaccess
- php - 使用 PHP 更改页面标题
- r - 如何将 ntree 参数添加到 caret 包的 train() 函数中?
- flutter - 颤动蓝色实例连接在Android中自动断开
- flutter - 如果用户按下后退按钮,则阻止 Navigator.push
- java - 在 Tomcat 8.0 上初始化 struts 应用程序时出错
- python - 使用 statsmodels.api 使用 ols().fit() 时出错
- xamarin.android - 使用 MvvmCross 创建 OnBoarding 流程