张量流中的自动微分支持哪些操作

时间:2017-11-23 07:28:33

标签: tensorflow autodiff

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

1 个答案:

答案 0 :(得分:0)

这不是直接的答案,但作为提示,此自动区分库autograd列出了不支持的操作,请参见Non-differentiable functions,例如floor(),{{1} }不能自动区分。

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

我想tf与此非常相似。