编辑图层中的各个权重和偏差

时间:2018-07-17 11:33:58

标签: python-3.x tensorflow keras

我正在一个项目中,我需要编辑各个权重和偏见。

有什么方法可以真正访问图层的权重和偏差,以便我可以手动编辑它们? 来自tf.layers.dense()

到目前为止,我已经创建了自己的模型并将偏差存储在外部,如下所示:

for _ in range(population_size):
    hidden_layer.append(tf.Variable(tf.truncated_normal([11, 20])))
    output_layer.append(tf.Variable(tf.truncated_normal([20, 9])))
population.append([hidden_layer, output_layer])

然后我尝试使用feed dict将种群输入模型。事实证明这是一个真正的地狱,因为变量的形状不一样,我无法将它们输入模型。

是否存在从密集层获取权重的本机支持?

1 个答案:

答案 0 :(得分:2)

From the keras doc:

  

所有Keras图层都有许多共同的方法:

layer.get_weights(): returns the weights of the layer as a list of Numpy arrays.
layer.set_weights(weights): sets the weights of the layer from a list of Numpy arrays (with the same shapes as the output of get_weights).

您可以使用yourmodel.layers轻松访问模型中的所有图层。