【发布时间】:2021-11-16 21:17:22
【问题描述】:
我正在创建一个单独的类来初始化模型并在列表中添加层,但是这些层没有被添加到参数中,请告诉如何将它们添加到模型的参数()中。
class Mnist_Net(nn.Module):
def __init__(self,input_dim,output_dim,hidden_layers=2,neurons=128):
super().__init__()
layers = []
for i in range(hidden_layers):
if len(layers) == 0:
layers.append(nn.Linear(input_dim,neurons))
if i == hidden_layers-1:
layers.append(nn.Linear(layers[-2].weight.shape[0],output_dim))
layers.append(nn.Linear(layers[i-1].weight.shape[0],neurons))
self.layers= layers
当我打印 model.parameters()
model = Mnist_Net(28*28,10,neurons=56)
for t in model.parameters():
print(t)
它什么也没显示,但是当我在类中添加图层时
self.layer1 = nn.Linear(input_dim,neurons)
它在参数中显示一层。请告诉我如何在 model.parameters() 中的 self.layers 中添加所有层
【问题讨论】:
标签: python neural-network pytorch artificial-intelligence