即使从 nn.Module 继承后,Net class 中也没有参数

No Parameters in Net class even after inheriting from nn.Module

出于某种原因,我的 Class 网络没有参数,即使我已正确导入所有内容。它仍然显示网络没有参数或属性,甚至在打印网络时它也只是打印空列表。谁能告诉我怎么了?

import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
def ___init__(self):
    super(Net, self).__init__()
    self.fc1 = nn.Linear(784, 64)
    self.fc2 = nn.Parameter(nn.Linear(64, 64))
    self.fc3 = nn.Parameter(nn.Linear(64, 64))
    self.fc4 = nn.Parameter(nn.Linear(64, 10))
    
def forward(self, x):
    x = F.relu(self.fc1(x))
    x = F.relu(self.fc2(x))
    x = F.relu(self.fc3(x))
    x = self.fc4(x)
    return F.log_softmax(x, dim=1)

net = Net()
print(net)
print(list(net.parameters()))

输出:

Net()
[]

在代码中

def ___init__(self):

您在 init 之前使用了三个下划线,使用两个:__init__.