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

相关推荐
小姐姐味道11 分钟前
1万美金的账单,烧麻了!bull这个skills让数据推理质量更好,更省!
人工智能
苍何15 分钟前
再见 Openclaw,桌面端 Agent 起飞了!
人工智能
雮尘33 分钟前
让 AI Agent 高效并行开发的命令-git worktree
人工智能·git·agent
Ray Liang1 小时前
AI基于Spec开发是巨坑?
人工智能·架构设计·mindx
哔哩哔哩技术2 小时前
游戏数据分析Agent的全栈架构演进
人工智能·agent
陆通2 小时前
10分钟Windows系统安装迷你版的OpenClaw ,小小龙虾Nanobot
人工智能
老张的码2 小时前
飞书 × OpenClaw 接入指南
人工智能·后端
mCell2 小时前
分享一个常用的文生图提示词
人工智能·llm·数据可视化
踩着两条虫2 小时前
如何让AI精准修改你的Vue代码?揭秘增量更新器实现原理
人工智能·openai·ai编程