2017-05-04 68 views
1

这可能是一个初学者的问题,但无论如何:当运行图像分类建立与pytorch,我得到这个错误:Pytorch,类型错误:对象()不带任何参数

Traceback (most recent call last): 
File "/pytorch/kanji_torch.py", line 47, in <module> 
    network = Network() 
    File "/pytorch/kanji_torch.py", line 113, in __init__ 
    self.conv1 = nn.Conv2d(1, 32, 5) 
    File "/python3.5/site-packages/torch/nn/modules/conv.py", line 233, in __init__ 
    False, _pair(0), groups, bias) 
    File "/python3.5/site-packages/torch/nn/modules/conv.py", line 32, in __init__ 
    out_channels, in_channels // groups, *kernel_size)) 
TypeError: object() takes no parameters 

我定义网络类像这个:

class Network(torch.nn.Module): 
    def __init__(self): 
     super(Network, self).__init__() 
     self.conv1 = nn.Conv2d(1, 32, 5) 
     self.pool = nn.MaxPool2d(2, 2) 
     self.conv2 = nn.Conv2d(32, 64, 5) 
     self.pool2 = nn.MaxPool2d(2, 2) 
     self.conv3 = nn.Conv2d(64, 64, 5) 
     self.pool2 = nn.MaxPool2d(2, 2) 
     self.fc1 = nn.Linear(64 * 5 * 5, 512) 
     self.fc2 = nn.Linear(512, 640) 
     self.fc3 = nn.Linear(640, 3756) 

很确定我导入了所有相关的pytorch库模块正确。 (进口torch.nn为nn和
进口火炬)

任何想法我做错了什么?

谢谢!

+0

不,这是一个错误,我修复了它 – Sumaku

+0

回溯似乎指向文件'/ pytorch/blitz.py'(顺便说一句,我对'/ pytorch/.py'文件名感兴趣)。在你粘贴的代码中,这个类被命名为“Network”,但是回溯是关于'Net'的。在粘贴代码之前是否更新过东西? – Arount

+0

这是我的身边马虎。我有两个同样的问题。我让他们接通了,我想我改了所有错误的名字。现在已经编辑出现了不合理之处。谢谢 – Sumaku

回答

0

你可能会与你的pytorch版中的问题,当我运行代码:

class Network(torch.nn.Module): 
    def __init__(self): 
     super(Network, self).__init__() 
     self.conv1 = nn.Conv2d(1, 32, 5) 
     self.pool = nn.MaxPool2d(2, 2) 
     self.conv2 = nn.Conv2d(32, 64, 5) 
     self.pool2 = nn.MaxPool2d(2, 2) 
     self.conv3 = nn.Conv2d(64, 64, 5) 
     self.pool2 = nn.MaxPool2d(2, 2) 
     self.fc1 = nn.Linear(64 * 5 * 5, 512) 
     self.fc2 = nn.Linear(512, 640) 
     self.fc3 = nn.Linear(640, 3756) 
print(network) 

输出是:

Network (
    (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1)) 
    (pool): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1)) 
    (conv2): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1)) 
    (pool2): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1)) 
    (conv3): Conv2d(64, 64, kernel_size=(5, 5), stride=(1, 1)) 
    (fc1): Linear (1600 -> 512) 
    (fc2): Linear (512 -> 640) 
    (fc3): Linear (640 -> 3756) 
) 

我建议更新/重装pytorch。

+0

它的工作。谢谢!我有一个与torch.Variable类似的问题,现在也解决了。 – Sumaku

相关问题