如何通过索引访问pytorch模型参数

时间:2019-03-01 10:13:14

标签: python machine-learning deep-learning computer-vision pytorch

如果我的网络有10个层(包括偏差),那么如何仅通过索引访问其第i层参数?

当前,我正在做的事情是这样的

for parameter in myModel.parameters():
    parameter.data /= 5 

如何使用索引访问parameter.data?例如,我想不进行迭代就访问第9层,例如myModel.parameter.data [8]或类似的东西。

1 个答案:

答案 0 :(得分:1)

只需做一个:

layers=[x.data for x in myModel.parameters()]

现在它将是权重和偏差的列表,为了访问第一层的权重,您可以执行以下操作:

print(layers[0])

为了访问第一层的偏见:

print(layers[1])

以此类推。

请记住,如果任何特定层的bias为false,那么它将根本没有任何条目,因此,例如,如果第二层的bias为false,则layers[3]实际上将给出第三层的权重。