Как я могу сказать Tensorflow бросить ошибку, если я пытаюсь выполнить неоднозначную операцию на переменной?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу сказать Tensorflow бросить ошибку, если я пытаюсь выполнить неоднозначную операцию на переменной?

Сообщение Anonymous »

Я изучаю Tensorflow и потратил много времени, пытаясь найти то, что вызывает эту ошибку: < /p>

Код: Выделить всё

No gradients provided for any variable.
В конце концов я отслеживал, что это было вызвано с использованием argmax в самом начале моего расчета градиента.
Есть ли какая -то охрана или обертка, которые можно положить на мои тензоры и бросить в тот момент, когда я потеряю дифференциацию? Конечно, это должно быть транзитивным, поэтому, если я сделаю это: < /p>
raw_output = my_model((input_data))
tf.make_sure_all_steps_are_differentiable(raw_output)
# this is differentiable of course, although I am not sure if it's correct in this context
multiplied = raw_output * 5
# This is not differentiable and should raise
# Non differentiable operation attempted on tensor [name]
# or something like that
# The guard should have been transferred to the new tensor during previous operation
argmaxed = tf.argmax(multiplied, other, arguments)
< /code>
Есть ли у Tensorflow такой помощник? Я мог бы найти много вопросов о том, что дифференцируемое, а что нет. Это поможет узнать, как вы его используете.

Подробнее здесь: https://stackoverflow.com/questions/796 ... differenti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»