Backward()函数

Backward函数实际上是通过传递参数(默认情况下是1x1单位张量)来计算梯度的,它通过Backward图一直到每个叶节点,每个叶节点都可以从调用的根张量追溯到叶节点。然后将计算出的梯度存储在每个叶节点的.grad中。请记住,在正向传递过程中已经动态生成了后向图。backward函数仅使用已生成的图形计算梯度,并将其存储在叶节点中。

让我们分析以下代码:

 import torch
 # Creating the graph
 x = torch.tensor(1.0, requires_grad = True)
 z = x ** 3
 z.backward() #Computes the gradient
 print(x.grad.data) #Prints '3' which is dz/dx

需要注意的一件重要事情是,当调用z.backward()时,一个张量会自动传递为z.backward(torch.tensor(1.0))torch.tensor(1.0)是用来终止链式法则梯度乘法的外部梯度。这个外部梯度作为输入传递给MulBackward函数,以进一步计算x的梯度。传递到.backward()中的张量的维数必须与正在计算梯度的张量的维数相同。例如,如果梯度支持张量x和y如下:

 x = torch.tensor([0.0, 2.0, 8.0], requires_grad = True)
 y = torch.tensor([5.0 , 1.0 , 7.

backward()函数中的参数解析相关推荐

  1. Matlab中的参数解析

    本文中,我们讨论如何在Matlab中进行参数解析. 参数解析对于软件开发和程序设计至关重要.在Matlab中,函数参数传递一般采用直接传值方式,最复杂的情况下也就是使用varargin变长数组.那么如 ...

  2. libvlc_media_add_option 函数中的参数设置

    libvlc_media_add_option   函数中的参数设置 Usage: vlc [options] [stream] ... You can specify multiple stream ...

  3. 在setInterval函数中传递参数

    本文翻译自:Pass parameters in setInterval function Please advise how to pass parameters into a function c ...

  4. python函数中可变参数的传递方式是_Python中函数的参数传递与可变长参数

    1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0):2 printtext,num3 4 foo("asd") #asd 0 5 foo( ...

  5. [SpringBoot2]ajax函数中data参数的数据设置方式

    ajax函数中data参数的数据设置方式:

  6. listen函数的第二个参数_signal(SIGPIPE,?SIG_IGN)listen函数中backlog参数分析

    signal(SIGPIPE, SIG_IGN); TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端 ...

  7. Pytorch中tensor维度和torch.max()函数中dim参数的理解

    Pytorch中tensor维度和torch.max()函数中dim参数的理解 维度 参考了 https://blog.csdn.net/qq_41375609/article/details/106 ...

  8. 以下是一个使用 VBA 的例子,演示了 ByVal 和 ByRef 的区别,以及如何在函数中传递参数和返回值。

    以下是一个使用 VBA 的例子,演示了 ByVal 和 ByRef 的区别,以及如何在函数中传递参数和返回值: Sub Example()Dim x As Integer, y As Integerx ...

  9. 函数中out参数的应用

    函数中out参数的应用 1.out参数使用情况说明 如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组: 但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可 ...

  10. Matplotlib画饼图(pie),及其函数中的参数

    这篇文章主要介绍了python matplotlib饼状图参数及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在python的matplo ...

最新文章

  1. (传送门)android studio 一直卡在Gradle:Build Running的解决办法
  2. linux grep和正则表达式
  3. nodejs链接kafka示例(producer、consumer)
  4. Android onTouchEvent, onClick及onLongClick的调用机制
  5. 截断骨干用于检测,YOLO-ReT开源:边缘GPU设备上的高性能检测器
  6. Redis 支持的数据类型
  7. libsvm java 实例_LibSVM Java API调用示例程序
  8. 程序员,该注意下啦!
  9. 95-10-120-启动-GroupCoordinator
  10. 设计灵感|什么样的登录页能让用户感到体贴?
  11. 单片机两个正玄波信号的相位差计算_51单片机的定时器/计数器的原理与使用
  12. java8 新特性之 -- lamdba 表达式 -- Optional类 --遍历 Map List
  13. hpux下netbackup无法认到所有磁带机
  14. 惠普MFP774dn扫描功能
  15. linux窗口按钮,在KDE Linux中配置窗口装饰按钮 | MOS86
  16. 零基础做一个微信答题小程序(三)
  17. 大坑:c++如何输入带空格的字符串?
  18. React中自定义高阶组件的应用(HOC)
  19. 求100~200间的素数以及水仙花数
  20. 北京内推 | 京东物流集团招聘算法实习生

热门文章

  1. MATLAB实现对比度计算
  2. 计算机桌面图标右上角出现双箭头符号,电脑桌面图标有箭头,如何消除小小障碍小编有绝招...
  3. html设置请求头host,Http请求头Host字段作用
  4. 绕过apple id的那些事
  5. web前端开发工程师的三种级别
  6. 深度学习和神经网络介绍
  7. php 动态倒计时计数器跳转至另一个页面,JavaScript_基于JavaScript实现网页倒计时自动跳转代码,用JS实现网页上的自动跳转功 - phpStudy...
  8. 海森堡量子力学与计算机,量子力学诞生后的120年,没有人真正懂他
  9. (转)中国IT界名人
  10. 深度学习之 梯度消失与爆炸原因公式推导