即使从 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__
.
出于某种原因,我的 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__
.