所以我试图学习 pytorch,我从教程中得到了这段代码,它只是在那里导入一个 mnist 数据集,但它输出“TypeError:'module' object is not callable”在教程中“dataloader”被写为“Dataloader”但是当我像这样运行它时它输出“AttributeError:模块'torch.utils.data'没有属性'Dataloader'”
在文件 mnist 中下载的数据,但我不知道它是否完整
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optom
from torchvision import datasets, transforms
from torch.autograd import Variable
kwargs={}
train=torch.utils.data.dataloader(datasets.MNIST("mnist",train=True,download=True,transform=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307),(0.3081,) )] ) ),batch_size=64, shuffle=True, **kwargs)
Run Code Online (Sandbox Code Playgroud) 我制作了一个卷积神经网络,我希望它获取输入图片和输出图片,但是当我将图片转换为张量时,它们的尺寸错误:
RuntimeError: Expected 4-dimensional input for 4-dimensional weight [20, 3, 5, 5], but got 3-dimensional input of size [900, 1440, 3] instead
Run Code Online (Sandbox Code Playgroud)
如何更改图片的尺寸?为什么需要改变?以及如何将输出变成图片?我尝试使用
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
Run Code Online (Sandbox Code Playgroud)
使 img 标准化,但没有改变尺寸。这是我的神经网络
def __init__(self):
super(Net, self).__init__()
torch.nn.Module.dump_patches = True
self.conv1 = nn.Conv2d(3, 20, 5)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(20, 16, 5)
self.fc1 = nn.Linear(16*5*5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 16*5*5)
def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = …
Run Code Online (Sandbox Code Playgroud) multidimensional-array python-imaging-library python-3.x conv-neural-network pytorch