Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
shiyivei
Paddle
提交
32ceacf3
P
Paddle
项目概览
shiyivei
/
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
32ceacf3
编写于
8月 25, 2020
作者:
石
石晓伟
提交者:
GitHub
8月 25, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update op_version_registry, test=develop (#26644)
上级
1fcddf57
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
4 deletion
+46
-4
paddle/fluid/framework/op_version_registry.h
paddle/fluid/framework/op_version_registry.h
+38
-3
paddle/fluid/framework/op_version_registry_test.cc
paddle/fluid/framework/op_version_registry_test.cc
+8
-1
未找到文件。
paddle/fluid/framework/op_version_registry.h
浏览文件 @
32ceacf3
...
...
@@ -29,14 +29,20 @@ namespace framework {
namespace
compatible
{
struct
OpUpdateRecord
{
enum
class
Type
{
kInvalid
=
0
,
kModifyAttr
,
kNewAttr
};
enum
class
Type
{
kInvalid
=
0
,
kModifyAttr
,
kNewAttr
,
kNewInput
,
kNewOutput
};
Type
type_
;
std
::
string
remark_
;
};
struct
ModifyAttr
:
OpUpdateRecord
{
ModifyAttr
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
,
boost
::
any
default_value
)
const
boost
::
any
&
default_value
)
:
OpUpdateRecord
({
Type
::
kModifyAttr
,
remark
}),
name_
(
name
),
default_value_
(
default_value
)
{
...
...
@@ -47,9 +53,10 @@ struct ModifyAttr : OpUpdateRecord {
std
::
string
name_
;
boost
::
any
default_value_
;
};
struct
NewAttr
:
OpUpdateRecord
{
NewAttr
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
,
boost
::
any
default_value
)
const
boost
::
any
&
default_value
)
:
OpUpdateRecord
({
Type
::
kNewAttr
,
remark
}),
name_
(
name
),
default_value_
(
default_value
)
{}
...
...
@@ -59,6 +66,22 @@ struct NewAttr : OpUpdateRecord {
boost
::
any
default_value_
;
};
struct
NewInput
:
OpUpdateRecord
{
NewInput
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
)
:
OpUpdateRecord
({
Type
::
kNewInput
,
remark
}),
name_
(
name
)
{}
private:
std
::
string
name_
;
};
struct
NewOutput
:
OpUpdateRecord
{
NewOutput
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
)
:
OpUpdateRecord
({
Type
::
kNewOutput
,
remark
}),
name_
(
name
)
{}
private:
std
::
string
name_
;
};
class
OpVersionDesc
{
public:
OpVersionDesc
&
ModifyAttr
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
,
...
...
@@ -75,6 +98,18 @@ class OpVersionDesc {
return
*
this
;
}
OpVersionDesc
&
NewInput
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
)
{
infos_
.
push_back
(
std
::
shared_ptr
<
OpUpdateRecord
>
(
new
compatible
::
NewInput
(
name
,
remark
)));
return
*
this
;
}
OpVersionDesc
&
NewOutput
(
const
std
::
string
&
name
,
const
std
::
string
&
remark
)
{
infos_
.
push_back
(
std
::
shared_ptr
<
OpUpdateRecord
>
(
new
compatible
::
NewOutput
(
name
,
remark
)));
return
*
this
;
}
private:
std
::
vector
<
std
::
shared_ptr
<
OpUpdateRecord
>>
infos_
;
};
...
...
paddle/fluid/framework/op_version_registry_test.cc
浏览文件 @
32ceacf3
...
...
@@ -42,7 +42,14 @@ TEST(test_operator_version, test_operator_version) {
"height"
,
"In order to represent a two-dimensional rectangle, the "
"parameter height is added."
,
0
));
0
))
.
AddCheckpoint
(
R"ROC(
Add a input [X2] and a output [Y2]
)ROC"
,
framework
::
compatible
::
OpVersionDesc
()
.
NewInput
(
"X2"
,
"The second input."
)
.
NewOutput
(
"Y2"
,
"The second output."
));
}
}
// namespace compatible
}
// namespace framework
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录