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

相关推荐
lisw053 分钟前
AI眼镜:作为人机交互新范式的感知延伸与智能融合终端
人工智能·人机交互·软件工程
bestcxx8 分钟前
0.2、AI Agent 开发中 ReAct 和 MAS 的概念
人工智能·python·dify·ai agent
Q一件事16 分钟前
arcgis重采样插值方法的选择
人工智能·arcgis
Xxtaoaooo40 分钟前
Sora文生视频技术拆解:Diffusion Transformer架构与时空建模原理
人工智能·架构·音视频·transformer·sora
lisw0541 分钟前
数字化科技简化移民流程的 5 种方式
大数据·人工智能·机器学习
空白到白1 小时前
Transformer-解码器_编码器部分
人工智能·深度学习·transformer
悟乙己1 小时前
PandasAI :使用 AI 优化你的分析工作流
人工智能·pandas·pandasai
东临碣石821 小时前
【AI论文】CoDA:面向协作数据可视化的智能体系统
人工智能
中杯可乐多加冰1 小时前
无代码开发实践 | 基于权限管理能力快速开发人力资源管理系统
人工智能·低代码
钊气蓬勃.1 小时前
深度学习笔记:入门
人工智能·笔记·深度学习