paddle设计思想
1.概述
主要介绍内部的实现流程
2.架构
3.过程
python被组织成一个ProgramDesc,用户通过调用paddle提供算子来向Program添加tensor以及对变量的操作Operators,用户只需描述前向计算,
原始的programDesc转化为一个中间语言Transplier。
一个paddle中通常存在两个program,
fluid.default_startup_program:定义了模型参数初始化、优化器参数初始化、reader初始化等各种操作。
fluid.default_main_program :定义了神经网络模型,前向反向计算,以及模型参数更新、优化器参数更新等各种操作。
一个Executor包括一个 gramDesc和一个block_id,以及一个scope,ProgramDesc是block的列表,每一项包含block中所有参数和operator的protobuf定义;block_id指定入口块;Scope是所有变量实例的容器。
其中 Scope 包含了 name 与 Variable 的映射,所有变量都被定义在 Scope 里。大部分API会默认使用 global_scope ,例如 Executor.run ,您也可以指定网络运行在某个特定的 Scope 中,一个网络可以在不同的 Scope内运行,并在该 Scope 内更新不同的 Variable
相关推荐
maxelliot 2020-06-21
Justagreenonion 2020-05-30
yourFriend 2020-05-29
gougouzhang 2020-05-12
随心而作 2020-01-07
VanTYS 2019-12-15
gougouzhang 2019-12-13
xiatianbzh 2019-11-27
Omega 2019-11-08
Joyliness 2019-08-03
嵌入式移动开发 2019-11-03
upzhai 2011-12-19
homesmile 2016-04-28
xcolin 2019-09-07
冰晶云梦 2019-09-06
klarclm 2019-07-17
chenyanyan 2018-11-07
laj0 2017-03-13
特 2019-05-20