Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
f650429b
P
Paddle
项目概览
机器未来
/
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,发现更多精彩内容 >>
未验证
提交
f650429b
编写于
12月 11, 2017
作者:
武
武毅
提交者:
GitHub
12月 11, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6419 from typhoonzero/recv_op_use_ser_prog
recv_op use serialized program
上级
38de512d
986ca03c
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
11 addition
and
6 deletion
+11
-6
paddle/operators/recv_op.cc
paddle/operators/recv_op.cc
+7
-5
paddle/operators/send_recv_op_test.cc
paddle/operators/send_recv_op_test.cc
+4
-1
未找到文件。
paddle/operators/recv_op.cc
浏览文件 @
f650429b
...
...
@@ -72,11 +72,13 @@ class RecvOp : public framework::OperatorBase {
// FIXME(typhoonzero): do not copy
framework
::
CopyFrom
(
t
,
dev_ctx
.
GetPlace
(),
dev_ctx
,
tensor
);
auto
*
block
=
Attr
<
framework
::
BlockDescBind
*>
(
"OptimizeBlock"
);
auto
*
program
=
block
->
Program
();
std
::
string
program_str
=
Attr
<
std
::
string
>
(
"OptimizeProgram"
);
framework
::
ProgramDesc
program_desc
;
program_desc
.
ParseFromString
(
program_str
);
framework
::
ProgramDescBind
program
(
program_desc
);
framework
::
Executor
executor
(
dev_ctx
);
// Run sub graph to get optimized tensor
executor
.
Run
(
*
program
,
&
recv_scope
,
block
->
ID
(),
executor
.
Run
(
program
,
&
recv_scope
,
0
,
/*global_block*/
false
/*create_local_scope*/
);
auto
*
out_var
=
recv_scope
.
FindVar
(
"Out"
);
...
...
@@ -108,8 +110,8 @@ This operator will recv tensor from send_op
"IP address to listen on."
)
.
SetDefault
(
"127.0.0.1:6164"
)
.
AddCustomChecker
([](
const
std
::
string
&
ip
)
{
return
!
ip
.
empty
();
});
AddAttr
<
framework
::
BlockDescBind
*>
(
"OptimizeBlock"
,
"type BlockDescBind*
"
,
"optimize network run in server
"
);
AddAttr
<
std
::
string
>
(
"OptimizeProgram"
,
"type string
"
,
"Serialized ProgramDesc string for recv to run.
"
);
}
};
...
...
paddle/operators/send_recv_op_test.cc
浏览文件 @
f650429b
...
...
@@ -85,7 +85,10 @@ void StartServerNet() {
paddle
::
framework
::
AttributeMap
attrs
;
attrs
.
insert
({
"endpoint"
,
std
::
string
(
"127.0.0.1:6174"
)});
attrs
.
insert
({
"OptimizeBlock"
,
block
});
std
::
string
program_proto
;
PADDLE_ENFORCE
(
program
.
Proto
()
->
SerializeToString
(
&
program_proto
));
attrs
.
insert
({
"OptimizeProgram"
,
program_proto
});
recv_op
=
paddle
::
framework
::
OpRegistry
::
CreateOp
(
"recv"
,
{{
"RX"
,
{
"RX"
}}},
{{
"Out"
,
{
"Out"
}}},
attrs
);
paddle
::
platform
::
CPUDeviceContext
ctx
(
place
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录