pytorch/tensorflow 直接给张量中的某个位置的值赋值,操作不可导。

问题:给一个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

相关推荐
二川bro几秒前
从AlphaGo到ChatGPT:AI技术如何一步步改变世界?
人工智能·chatgpt
码农新猿类3 分钟前
帧差法识别
人工智能·opencv·计算机视觉
cdut_suye10 分钟前
【Linux系统】从 C 语言文件操作到系统调用的核心原理
java·linux·数据结构·c++·人工智能·机器学习·云计算
梁下轻语的秋缘25 分钟前
前馈神经网络回归(ANN Regression)从原理到实战
人工智能·神经网络·回归
xu_wenming35 分钟前
华为Watch的ECG功能技术分析
人工智能·嵌入式硬件·算法
meisongqing1 小时前
【软件工程】机器学习多缺陷定位技术分析
人工智能·机器学习·软件工程·缺陷定位
高工智能汽车1 小时前
大模型浪潮下,黑芝麻智能高性能芯片助力汽车辅助驾驶变革
人工智能·汽车
带娃的IT创业者1 小时前
《AI大模型应知应会100篇》第62篇:TypeChat——类型安全的大模型编程框架
人工智能·安全
补三补四1 小时前
随机森林(Random Forest)
人工智能·科技·算法·随机森林·机器学习
dundunmm1 小时前
【每天一个知识点】Dip 检验(Dip test)
人工智能·机器学习