forward方法的具体流程:

以一个Module为例:

1. 调用module的call方法

2. module的call里面调用module的forward方法

3. forward里面如果碰到Module的子类,回到第1步,如果碰到的是Function的子类,继续往下

4. 调用Function的call方法

5. Function的call方法调用了Function的forward方法。

6. Function的forward返回值

7. module的forward返回值

8. 在module的call进行forward_hook操作,然后返回值。

上述中“调用module的call方法”是指nn.Module 的__call__方法。定义__call__方法的类可以当作函数调用,具体参考Python的面向对象编程。

也就是说,当把定义的网络模型model当作函数调用的时候就自动调用定义的网络模型的forward方法。nn.Module 的__call__方法部分源码如下所示:

def __call__(self, *input, **kwargs):

result = self.forward(*input, **kwargs)

for hook in self._forward_hooks.values():

#将注册的hook拿出来用

hook_result = hook(self, input, result)

return result

python中forward函数的引用_pytorch 调用forward 的具体流程相关推荐

  1. python中forward函数的引用_调用没有.forward()的forward函数

    在看一些关于姿势估计的pytorch代码时,AlphaPose我注意到一些不熟悉的语法: 基本上,我们定义了一个Darknet类,它继承了nn.Module属性,比如:class Darknet(nn ...

  2. 第5天-[21天学Python]-Python中自定义函数及调用的方法

    本章内容主要包括: 声明函数 调用自定义函数 变量作用域 各种类型的函数参数应用 使用lambda建立匿名函数 Python其他常用内建函数 1.使用函数 1.1 声明函数 在python中,函数必须 ...

  3. python中闭包函数_Python的闭包问题(关于内嵌函数引用闭包函数的变量问题)

    一.闭包: 记得:闭包的特性就是:内嵌函数会保存它引用的外围函数的变量值. 闭包概念:在一个内部函数中,对外部作用域的变量进行引用,(并且一般外部函数的返回值为内部函数),那么内部函数和被引用的变量等 ...

  4. Python中的赋值、引用和深浅拷贝

    2019独角兽企业重金招聘Python工程师标准>>> 全局变量 在函数之外创建的变量属于main,又被称为全局变量.它们可以在main中的任意函数中访问,与局部变量在函数结束时消失 ...

  5. python中factor函数_Python入门-函数

    函数 在维基百科上函数式这样描述的: 函数在数学中为两集合间的一种对应关系:输入值集合中的每项元素皆能对应唯一一项输出值集合中的元素. 此处的函数区别于我们数学上的函数,在编程世界中,函数(Funct ...

  6. Python中的变量、引用、拷贝和作用域

    在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没 ...

  7. python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

  8. python中的函数

    python中的函数 1.创建一个无参数函数 2.创建有一个参数的函数 3.创建有多个参数的函数 4.函数中的一些名词 4.1 形参.实参.函数文档 4.2 关键字参数和默认参数 4.3 收集参数 5 ...

  9. 讲讲Python中的函数传递问题 【文末送书】

    正式的Python专栏第25篇,同学站住,别错过这个从0开始的文章! 前篇讲了python中的函数和高阶函数,这篇再把函数的其他部分补充一下,稍微轻松简单一些. 文末评论送书,学委会用这个抽奖程序来进 ...

最新文章

  1. 前端异步对象的原理与使用方法
  2. android lua loadluafile 相对路径,Lua中的loadfile、dofile、require详解
  3. Hoshin Kanri在丰田的应用
  4. 动我 Java?是时候让甲骨文退休了!
  5. 别在分答上问我问题了
  6. 自动化测试Linux和fio,一种基于fio实现的SSD性能自动化测试方法与流程
  7. windows bat 批处理常用命令
  8. 批量翻译软件免费【2022最新版】
  9. SQL Server 创建索引(index)
  10. Python代码规范之---代码不规范,亲人两行泪
  11. GaRy-Liang的linux成长日记2-系统安装
  12. 自己做的本地识图软件DAMO_嗅图狗
  13. html5获取坐标高德,vue 单纯的获取经纬度 百度与高德 H5
  14. 【转载】2005中文博客排名报告
  15. 卡壳卡壳(是读qia)
  16. java集成参考代码,萌翻你的心
  17. fatal: Couldn't find remote ref refs/heads/cm-13.0
  18. vue3+ts+ant-vue:手把手教你实现穿梭框简易版,配源码
  19. JavaWeb 页面跳转方式连接数据库
  20. ABB机器人FTP传输机器人文件

热门文章

  1. SAP UI5 应用开发教程之三十六 - 使用 Chrome 开发者工具 Elements 标签动态修改 CSS 类试读版
  2. SAP 电商云 Spartacus UI 4.1 版本的延迟加载技术介绍
  3. SAP 电商云 Spartacus 产品明细页面的 pageContext 如何获取的?
  4. 基于 OData 模型和 JSON 模型的 SAP UI5 表格控件行项目的添加和删除实现
  5. TypeScript class 的参数属性 parameter properties
  6. SAP Commerce里Extension, Addon和Accelerator这三个名词的联系和区别
  7. spark-submit的执行原理
  8. Hybris服务器启动日志分析
  9. SAP Gateway 类型为multipart mixed的请求处理逻辑
  10. try to navigate from SAP UI5 button to line item page