Keras - 如何将权重设置为单个图层

时间:2018-02-21 17:53:48

标签: python keras

我正在尝试设置隐藏图层的权重。

我假设layers [0]是输入,我想设置第一个隐藏层的权重,所以将索引设置为1.

model.layers[1].set_weights(weights)

然而,当我尝试这个时,我收到一个错误:

ValueError: You called `set_weights(weights)` on layer "dense_64" with a weight list of length 100, but the layer was expecting 2 weights. Provided weights: [ 1.0544554 1.27627635 1.05261064 1.10864937 ...

隐藏层有100个节点。

正如它告诉我它需要两个权重,一个是权重,一个是偏差?

2 个答案:

答案 0 :(得分:3)

Keras希望图层权重是长度为2的列表。第一个元素是内核权重,第二个元素是偏差。

您始终可以在图层上调用get_weights()以查看该图层的权重形状。 set_weights()期望完全一样。

答案 1 :(得分:0)

或者您可以尝试一下 `

model.layers [i] .set_weights(some_other_model.layers [i] .get_weights())

`