Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
7d138593
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7d138593
编写于
6月 28, 2017
作者:
Q
qiaolongfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refine code of scope with style check
上级
fa4f00d9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
14 deletion
+12
-14
paddle/framework/scope.cc
paddle/framework/scope.cc
+4
-5
paddle/framework/scope.h
paddle/framework/scope.h
+8
-9
未找到文件。
paddle/framework/scope.cc
浏览文件 @
7d138593
...
...
@@ -3,7 +3,7 @@
namespace
paddle
{
namespace
framework
{
Error
Scope
::
CreateVariable
(
const
std
::
string
&
name
)
{
Error
Scope
::
CreateVariable
(
const
std
::
string
&
name
)
{
if
(
name
==
""
)
{
return
Error
(
"Variable name should not be empty"
);
}
...
...
@@ -22,7 +22,7 @@ Variable* Scope::GetVarLocally(const std::string& name) const {
return
nullptr
;
}
Variable
*
Scope
::
GetVariable
(
const
std
::
string
&
name
)
const
{
Variable
*
Scope
::
GetVariable
(
const
std
::
string
&
name
)
const
{
Variable
*
var
=
GetVarLocally
(
name
);
if
(
var
!=
nullptr
)
{
return
var
;
...
...
@@ -33,7 +33,7 @@ Variable* Scope::GetVariable(const std::string &name) const {
}
}
Variable
*
Scope
::
GetOrCreateVariable
(
const
std
::
string
&
name
)
{
Variable
*
Scope
::
GetOrCreateVariable
(
const
std
::
string
&
name
)
{
Variable
*
var
=
GetVariable
(
name
);
if
(
var
!=
nullptr
)
{
return
var
;
...
...
@@ -47,10 +47,9 @@ Variable* Scope::GetOrCreateVariable(const std::string &name) {
}
}
bool
Scope
::
HaveVariable
(
const
std
::
string
&
name
)
{
bool
Scope
::
HaveVariable
(
const
std
::
string
&
name
)
{
return
vars_
.
count
(
name
)
!=
0
;
}
}
// namespace framework
}
// namespace paddle
paddle/framework/scope.h
浏览文件 @
7d138593
#pragma once
#include <vector>
#include <unordered_map>
#include <vector>
#include "paddle/framework/variable.h"
#include "paddle/utils/Error.h"
...
...
@@ -11,16 +11,16 @@ namespace framework {
const
static
Error
AlreadyCreated
(
"Variable has already been created"
);
/**
* Scope is an association of a name to Variable. All variables belong to `Scope`.
* You need to specify a scope to run a Net, i.e., `net.Run(&scope)`. One net can
* run in different scopes and update different variable in the scope.
* Scope is an association of a name to Variable. All variables belong to
* `Scope`. You need to specify a scope to run a Net, i.e., `net.Run(&scope)`.
* One net can run in different scopes and update different variable in the
* scope.
*/
class
Scope
{
public:
Scope
()
{}
explicit
Scope
(
const
std
::
shared_ptr
<
Scope
>
&
scope
)
:
parent_
(
scope
)
{}
explicit
Scope
(
const
std
::
shared_ptr
<
Scope
>&
scope
)
:
parent_
(
scope
)
{}
~
Scope
()
{}
...
...
@@ -29,8 +29,7 @@ class Scope {
Error
__must_check
CreateVariable
(
const
std
::
string
&
name
);
// Get Variable from this Scope, this function will recursive find Variable
// from it's parent scope.
// Return nullptr if not found.
// from it's parent scope. Return nullptr if not found.
Variable
*
GetVariable
(
const
std
::
string
&
name
)
const
;
// find and return Variables in the scope it self.
...
...
@@ -44,7 +43,7 @@ class Scope {
private:
std
::
unordered_map
<
std
::
string
,
std
::
unique_ptr
<
Variable
>>
vars_
;
std
::
shared_ptr
<
Scope
>
parent_
{
nullptr
};
std
::
shared_ptr
<
Scope
>
parent_
{
nullptr
};
};
}
// namespace framework
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录