既然Keras变量名不出现在摘要中,如何通过名称访问回调中或其他地方的Keras变量?

既然Keras变量名不出现在摘要中,如何通过名称访问回调中或其他地方的Keras变量?,keras,tensorflow2.0,Keras,Tensorflow2.0,这是tensorflow-2.0 keras x_input keras.layers.Input(shape=(1,)) V = K.variable(0.5, name='V', dtype=tf.float32) V = tf.reduce_mean(x_input, axis=-1) * 0 + V # this is a stupid way to get things to work V = tf.expand_dims(V, axis=-1) model = keras.mode

这是tensorflow-2.0 keras

x_input keras.layers.Input(shape=(1,))
V = K.variable(0.5, name='V', dtype=tf.float32)
V = tf.reduce_mean(x_input, axis=-1) * 0 + V # this is a stupid way to get things to work
V = tf.expand_dims(V, axis=-1)

model = keras.models.Model(inputs=x_input, outputs=V)
然后,我使用这个模型(解压)作为另一个模型构建过程的输入


变量“V”不会显示在第一个或第二个模型的摘要中。如何在回调或甚至在急切模式下获得值V

如果给它一个唯一的名字,而不是重复使用,那会对你有用吗?是的,这基本上就是我最后尝试的。我现在只使用keras子类API。我认为这就是每个人应该做的:总是使用子类化API,直到事情与keras协调。我同意使用子类化API