码迷,mamicode.com
首页 > 其他好文 > 详细

paddle设计思想

时间:2020-06-22 00:54:38      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:组织   介绍   实现   variable   operator   容器   初始化   default   算子   

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

  技术图片

 

paddle设计思想

标签:组织   介绍   实现   variable   operator   容器   初始化   default   算子   

原文地址:https://www.cnblogs.com/yangyang12138/p/13174743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!