Какие операции поддерживаются для автоматического дифференцирования в тензорном потоке

Меня смущает, какие типы операций поддерживаются для автоматического дифференцирования в TF. Конкретно, поддерживается ли тензорная индексация следующим образом?

...
# feat is output from some conv layer and the shape is B*H*W*C

# case one
loss = feat[:,1:,1:,:] - feat[:,:-1,:-1,:]

# case two
feat[:,1:,1:,:] = feat[:,1:,1:,:]/2. # assign and replace part original value
loss = tf.reduce_sum(feat)

0 ответов

Это isn'ta прямой ответ, но как ключ, это автоматическое дифференцирование библиотека Автоград списки операций, которые не поддерживаются, см Non-дифференцируемые функции, например,floor(), round() не дифференцируются автоматически.

Можно также определить свои собственные операции, при условии, что вы можете сами кодировать градиенты, см. Extend-autograd-by-defining-your-own.

Я предполагаю, что tf очень похож на это.

Другие вопросы по тегам