当前位置: 首页 > 面试题库 >

PyTorch Autograd自动区分功能

宰父浩漫
2023-03-14
问题内容

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


问题答案:

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

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

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



 类似资料:
  •        LSV的主界面主要分为3个区域,分别为左侧的侧栏,上侧的菜单栏以及渲染区域。

  •        LSV的主界面主要分为3个区域,分别为左侧的侧栏,上侧的菜单栏以及渲染区域。

  • 问题内容: 上周,我了解到可以通过编写函数将类包含在您的项目中。然后我了解到,使用自动加载器不仅是一种技术,而且是一种模式。 现在,我在项目中使用了自动加载器,并且发现它非常有用。我想知道是否有可能用函数做同样的事情。忘记包含正确的PHP文件以及其内部的功能可能对您很有用。 那么,是否可以创建函数自动加载器? 问题答案: 没有用于功能的功能自动加载器。您有四个可行的解决方案: 将所有函数包装到命名

  • 本文向大家介绍Python实现自动装机功能案例分析,包括了Python实现自动装机功能案例分析的使用技巧和注意事项,需要的朋友参考一下 前言 提示:在管理服务器的过程中,发现有很多服务器在启动的过程中默认以PXE方式启动,这就导致我们无法将PXE装机程序放开到所有的交换机端口中,本文是以Python对dell服务器进行了一些控制,更多厂商机器的管理和控制,仍在调研中。 提示:以下是本篇文章正文内容

  • 主要内容:动态分区比固定分区的优势,动态分区的缺点,复杂的内存分配动态分区试图克服由固定分区造成的问题。 在这种技术中,分区大小最初并未声明。 它在进程加载时声明。 第一个分区是为操作系统保留的。 剩余空间分成几部分。 每个分区的大小将等于进程的大小。 分区大小根据进程的需要而变化,以避免内部碎片。 动态分区比固定分区的优势 1. 没有内部碎片 考虑到动态分区中的分区是根据进程的需要创建的,很明显,不会有任何内部碎片,因为分区中不会有任何未使用的剩余空间。 2.