如何在Tensorflow(Python)中抑制特定的警告?

10

我有一个模型,在特定条件下存在一些未连接的梯度,这正是我想要的。但是每当Tensorflow遇到未连接的梯度时,它会打印出警告。

WARNING:tensorflow:Gradients do not exist for variables

有没有什么方法可以只抑制这个特定的警告?我不想盲目地抑制所有警告,因为在我还在处理模型时可能会出现意外(并且潜在有用的)警告。

1个回答

6
有一种有些粗糙的方法:
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients([
    (grad, var) 
    for (grad, var) in zip(gradients, model.trainable_variables) 
    if grad is not None
])

apply_gradients 也接受迭代器(例如 zip),因此您的代码也可以在没有将生成器表达式转换为列表推导的情况下正常工作。 - EliadL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接