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

相关推荐
火山引擎开发者社区38 分钟前
Agent Plan、Coding Plan限时优惠:2.5折畅享多模型!
人工智能
冬奇Lab1 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
冬奇Lab1 小时前
每日一个开源项目(第136篇):OpenMemory - 给 AI Agent 真正的认知记忆引擎
人工智能
黄啊码2 小时前
【黄啊码】微信 AI 把聊天功能和 Vibe Coding打通了,创业者:我又白干了
人工智能
IT_陈寒3 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
用户413062258294 小时前
给AI回答加引用角标citation:RAG前端实现
人工智能
米小虾4 小时前
WAIC 2026 倒计时30天:300+ AI 产品全球首发,今年看点全解析
人工智能
码上天下4 小时前
多模态Agent上传图片:前端压缩格式与预览实战
人工智能
姗姗来迟了4 小时前
Vue3封装可复用AI对话组件:一次抽象复盘
人工智能