我有一个模型,在特定条件下存在一些未连接的梯度,这正是我想要的。但是每当Tensorflow遇到未连接的梯度时,它会打印出警告。
WARNING:tensorflow:Gradients do not exist for variables
有没有什么方法可以只抑制这个特定的警告?我不想盲目地抑制所有警告,因为在我还在处理模型时可能会出现意外(并且潜在有用的)警告。
我有一个模型,在特定条件下存在一些未连接的梯度,这正是我想要的。但是每当Tensorflow遇到未连接的梯度时,它会打印出警告。
WARNING:tensorflow:Gradients do not exist for variables
有没有什么方法可以只抑制这个特定的警告?我不想盲目地抑制所有警告,因为在我还在处理模型时可能会出现意外(并且潜在有用的)警告。
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