程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PyTorch Autograd自动区分功能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决PyTorch Autograd自动区分功能?

开发过程中遇到PyTorch Autograd自动区分功能的问题如何解决?下面主要结合日常开发的经验,给出你关于PyTorch Autograd自动区分功能的解决方法建议,希望对你解决PyTorch Autograd自动区分功能有所启发或帮助;

这是一个很好的问题!通常,自动微分(autodiff)的思想基于多变量链规则,即 \ frac {\ partial x} {\
partial z} = \ frac {\ partial x} {\ partial y} \ cdot \ frac {\ partial
y} {\ partial z} 。 这意味着您可以通过“代理”变量y表示x相对于z的导数;实际上,这使您可以分解一堆更简单(或原子)的操作中的几乎所有操作,然后将这些操作“链接”在一起。 现在,什么样的autodiff包像autograd这样做只是存储此类原子运算块的导数,例如除法,乘法等。然后,在运行时,您提供的正向传递公式(由这些块中的多个组成)可以轻松转换为精确的导数。同样,如果您认为autodiff不能完全按照自己的意愿进行操作,则还可以为自己的操作提供衍生工具。

autodiff优于有限差分之类的导数逼近的优点仅仅是因为这是一个精确的 解决方案。

如果您对它的内部工作方式进一步感兴趣,我强烈建议您使用AutoDidact项目,该项目旨在简化自动微分器的内部,因为通常还涉及很多代码优化。而且,我参加的一次演讲中的这组幻灯片确实有助于理解。

解决方法

我只是想知道,PyTorch如何跟踪张量上的操作(将.requires_grad设置为后True,以及以后如何自动计算梯度。请帮助我理解背后的想法autograd。谢谢。

大佬总结

以上是大佬教程为你收集整理的PyTorch Autograd自动区分功能全部内容,希望文章能够帮你解决PyTorch Autograd自动区分功能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。