问题:给一个tensor A中[i,j],赋值p。直接操作A[i,j]=p
可能会导致值覆盖,操作不可导。
解决方案:通过引入一个额外的mask实现。
mask[i,j] = 0
mask = tf.convert_to_tensor(mask, dtype=tf.float32)
A = (A * mask) + (p * (1-mask))
ps: 没debug, 看起来是对的。
参考:https://github.com/hadjisma/VideoAlignment/blob/master/d2tw/smoothDTW.py#L44