2024-09-28 22:58:23 发布
网友
在我的培训过程中,我倾向于使用大量对torch.cat()的调用,并将张量复制到新的张量中。autograd如何处理这些操作?梯度值是否受这些操作的影响
torch.cat()
autograd
正如评论中指出的,cat是一个数学函数。例如,我们可以用更传统的数学符号来编写cat的以下(特殊情况)定义:
cat
该函数的雅可比矩阵w.r.t.其任一输入可表示为
由于雅可比矩阵定义良好,您当然可以应用反向传播
实际上,您通常不会用这样的符号来定义这些操作,而pytorch以这种方式使用的cat操作的一般定义将很麻烦
这就是说,autograd内部使用反向算法,与任何其他函数一样,考虑了此类“索引样式”操作的梯度
正如评论中指出的,
cat
是一个数学函数。例如,我们可以用更传统的数学符号来编写cat
的以下(特殊情况)定义:该函数的雅可比矩阵w.r.t.其任一输入可表示为
由于雅可比矩阵定义良好,您当然可以应用反向传播
实际上,您通常不会用这样的符号来定义这些操作,而pytorch以这种方式使用的cat操作的一般定义将很麻烦
这就是说,autograd内部使用反向算法,与任何其他函数一样,考虑了此类“索引样式”操作的梯度
相关问题 更多 >
编程相关推荐