我正在一个项目中,我需要编辑各个权重和偏见。
有什么方法可以真正访问图层的权重和偏差,以便我可以手动编辑它们?
来自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将种群输入模型。事实证明这是一个真正的地狱,因为变量的形状不一样,我无法将它们输入模型。
是否存在从密集层获取权重的本机支持?
答案 0 :(得分:2)
所有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
轻松访问模型中的所有图层。