我想从pytorch内置的MLP /神经网络中提取权重,偏差,节点数和隐藏层数。我想知道是否有人可以指出正确的方向?
非常感谢,
最大
答案 0 :(得分:1)
是的,我们可以通过首先创建一个简单的网络来做您想要做的事情:
input_dim = 400
hidden_dim = 512
net = nn.Sequential(nn.Linear(input_dim, hidden_dim),
nn.Sigmoid())
print(net)
打印网络时,我们了解层数,节点数(out_features)以及许多其他详细信息:
Sequential(
(0): Linear(in_features=400, out_features=512, bias=True)
(1): Sigmoid()
)
然后,如果要加载每个参数的特定值,也可以打印该值
model = Net(400, 512,10)
bias = model.fc1.bias
print(bias)
输出为:
tensor([ 3.4078e-02, 3.1537e-02, 3.0819e-02, 2.6163e-03, 2.1002e-03,
4.6842e-05, -1.6454e-02, -2.9456e-02, 2.0646e-02, -3.7626e-02,
3.5531e-02, 4.7748e-02, -4.6566e-02, -1.3317e-02, -4.6593e-02,
-8.9996e-03, -2.6568e-02, -2.8191e-02, -1.9806e-02, 4.9720e-02,
---------------------------------------------------------------
-4.6214e-02, -3.2799e-02, -3.3605e-02, -4.9720e-02, -1.0293e-02,
3.2559e-03, -6.6590e-03, -1.2456e-02, -4.4547e-02, 4.2101e-02,
-2.4981e-02, -3.6840e-03], requires_grad=True)
希望有帮助