抑制 Tensorflow 警告

Suppression of Tensorflow Warning

我有一个 tensorflow 2.x 函数模型模型,其第一层来自另一个预训练模型。我希望这些层保持冻结状态,所以我在预训练的头上使用 tf.stop_gradient 来阻止它们学习。下面是我的网络的一个最小示例:

head =  load_my_cool_pretrained_representation_model()
x = tf.keras.layers.Dense(10000)(tf.stop_gradient(head.output))
x = tf.keras.layers.Dense(1)(x)
model = tf.keras.Model(inputs=head.inputs, outputs=x)
model.compile(loss='mse', optimizer=tf.keras.optimizers.Adam())

当我使用 model.fit() 时,我收到以下警告:

WARNING:tensorflow:Gradients do not exist for variables ['cool_rep_layer/embeddings:0', ...] when minimizing the loss.

我不需要警告,因为我希望这些层没有渐变。我怎样才能抑制这个警告?我看过 ,但我不想进入这个模型的渐变带。

根据 noober's 评论,我刚刚添加了

import logging
logging.getLogger('tensorflow').setLevel(logging.ERROR)

删除警告。这对我有用。