为 tensorflow 定义名称 reduce_mean

Define name for tensorflow reduce_mean

我正在使用 tensorflow 2.7.1,我正在尝试为我的模型中的某个层定义一个名称,如下所示:

tf.reduce_mean(some_other_tf, axis=1, name='my_name')

编译模型后,我想使用

按名称访问该层
model.get_layer("my_name")

但似乎没有定义名称可用的图层,特定图层的名称有点像:

tf.math.reduce_mean_27

在 tensoflow 的早期版本中,可以使用以下方法选择该层:

tf_op_layer_my_name

如何通过定义的名称在 tensorflow 2.7.1 中访问这样的操作层?

谢谢!

这是因为reduce_mean不是实际层,只是一个操作。您可以改为使用 Lambda 从函数定义层并为它们指定特定的名称。例如

mean_result = tf.keras.layers.Lambda(lambda x: tf.reduce_mean(x, axis=1),
                                     name="some_layer_name")(layer_input)

现在您的模型应该有一个实际命名为“some_layer_name”的图层,而不是其他名称。