2

我对 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)
4

1 回答 1

0

这不是直接的答案,但作为一个线索,这个自动微分库autograd列出了不受支持的操作,请参阅Non-differentiable functions,例如floor()round()不是自动微分的。

如果您可以自己编码渐变,也可以定义自己的操作,请参阅extend-autograd-by-defining-your-own

我猜 tf 与此非常相似。

于 2020-10-13T01:59:50.867 回答