问题:给一个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://www.toymoban.com/news/detail-687785.html
参考:https://github.com/hadjisma/VideoAlignment/blob/master/d2tw/smoothDTW.py#L44文章来源地址https://www.toymoban.com/news/detail-687785.html
到了这里,关于pytorch/tensorflow 直接给张量中的某个位置的值赋值,操作不可导。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!