为 tensorflow reduce_mean 定义名称

乘风 tensorflow 440

原文标题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 中的此类操作层?

谢谢!

原文链接:https://stackoverflow.com//questions/71587152/define-name-for-tensorflow-reduce-mean

回复

我来回复
  • xdurch0的头像
    xdurch0 评论

    这是因为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”而不是其他名称的层。

    2年前 0条评论