Как подавить указанное c предупреждение в Tensorflow (Python) - PullRequest
1 голос
/ 02 февраля 2020

У меня есть модель, которая, основываясь на определенных условиях, имеет некоторые не связанные градиенты, и это именно то, что я хочу. Но Tensorflow выдает предупреждение каждый раз, когда сталкивается с неподключенным градиентом.

WARNING:tensorflow:Gradients do not exist for variables

Есть ли способ только подавить это конкретное c предупреждение? Я не хочу слепо подавлять все предупреждения, поскольку в будущем могут появиться неожиданные (и потенциально полезные) предупреждения, поскольку я все еще работаю над своей моделью.

1 Ответ

1 голос
/ 14 февраля 2020

Добрый хакерский путь:

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
])
...