对于我的自定义图层的调用方法,我需要一些先前图层的权重,但我不需要修改它们,只需访问它们的值。 我有 How do I get the weights of a layer in Keras? 中建议的值 但这会返回 numpy 数组形式的权重。 因此,我将它们转换为张量(使用 Keras 后端的 tf.convert_to_tensor),但是在创建模型时出现此错误“'NoneType'对象没有属性'_inbound_nodes'”。 我该如何解决这个问题? 谢谢你。
最佳答案
TensorFlow 提供对变量进行分组的图形集合。要访问经过训练的变量,您可以调用 tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES) 或其简写 tf.trainable_variables() 或获取所有变量(包括一些变量)用于统计)使用 tf.get_collection(tf.GraphKeys.VARIABLES)
或其简写 tf.all_variables()
tvars = tf.trainable_variables()
tvars_vals = sess.run(tvars)
for var, val in zip(tvars, tvars_vals):
print(var.name, val) # Prints the name of the variable alongside its value.
关于python - 如何在功能性 Keras 模型中将前一层的权重作为输入传递给自定义层的调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59894195/