2017-05-04 31 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

相關問題