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

相关推荐
蓝鲨硬科技7 分钟前
任利锋的“造物”野心,让AI 3D进入“可制造”时代
人工智能·3d·制造
暗黑小白8 分钟前
Agent 运行时与 Harness:从教科书循环到生产级运行时
人工智能
烂蜻蜓11 分钟前
AI入门教程(十七):AI安全进阶——越狱、注入、对抗与防护
人工智能·ai
小K讲AI营销19 分钟前
存储定价权重构:用“产能分配“框架重估 DRAM+46%、NAND+65%
人工智能
小雨青年19 分钟前
【HarmonyOS 7开发者前瞻】10 HarmonyOS 7 真实项目适配路线图:API 26、AI / Agent 与多端改造优先级
人工智能·华为·harmonyos
半兽先生24 分钟前
大模型技术开发与应用——5.大模型Agent开发(CrewAI)
大数据·人工智能·python·机器学习·ai
aqi0026 分钟前
鸿蒙版本的小小机器人APP开放源码啦
人工智能·华为·harmonyos·鸿蒙·harmony
眼泪划过的星空27 分钟前
快速了解LangGraph:构建智能Agent工作流的核心框架
人工智能·python·langchain
眞bilibili36 分钟前
如何快速无缝的从 vscode 转向AI编辑器 cursor、kiro、trae 等
人工智能·vscode·编辑器