Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleFL
提交
ab95661b
P
PaddleFL
项目概览
PaddlePaddle
/
PaddleFL
通知
35
Star
5
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
6
列表
看板
标记
里程碑
合并请求
4
Wiki
3
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleFL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
6
Issue
6
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
3
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ab95661b
编写于
4月 22, 2020
作者:
J
jingqinghe
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add program_saver api
上级
b6506624
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
26 addition
and
23 deletion
+26
-23
paddle_fl/core/master/job_generator.py
paddle_fl/core/master/job_generator.py
+22
-0
paddle_fl/examples/generate_job_from_program/program_saver.py
...le_fl/examples/generate_job_from_program/program_saver.py
+4
-23
未找到文件。
paddle_fl/core/master/job_generator.py
浏览文件 @
ab95661b
...
...
@@ -11,6 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
import
paddle.fluid
as
fluid
from
.fl_job
import
FLCompileTimeJob
...
...
@@ -198,6 +199,27 @@ class JobGenerator(object):
local_job
.
set_strategy
(
fl_strategy
)
local_job
.
save
(
output
)
def
save_program
(
self
,
program_path
,
loss
):
if
not
os
.
path
.
exists
(
program_path
):
os
.
makedirs
(
program_path
)
main_program_str
=
fluid
.
default_main_program
(
).
desc
.
serialize_to_string
()
startup_program_str
=
fluid
.
default_startup_program
(
).
desc
.
serialize_to_string
()
params
=
fluid
.
default_main_program
().
global_block
().
all_parameters
()
para_info
=
[]
for
pa
in
params
:
para_info
.
append
(
pa
.
name
)
with
open
(
program_path
+
'/para_info'
,
'w'
)
as
fout
:
for
item
in
para_info
:
fout
.
write
(
"%s
\n
"
%
item
)
with
open
(
program_path
+
'/startup_program'
,
"wb"
)
as
fout
:
fout
.
write
(
startup_program_str
)
with
open
(
program_path
+
'/main_program'
,
"wb"
)
as
fout
:
fout
.
write
(
main_program_str
)
with
open
(
program_path
+
'/loss_name'
,
'w'
)
as
fout
:
fout
.
write
(
loss
.
name
)
def
generate_fl_job_from_program
(
self
,
strategy
,
endpoints
,
worker_num
,
program_input
,
output
):
local_job
=
FLCompileTimeJob
()
...
...
paddle_fl/examples/generate_job_from_program/program_saver.py
浏览文件 @
ab95661b
...
...
@@ -15,6 +15,7 @@
import
os
import
json
import
paddle.fluid
as
fluid
from
paddle_fl.core.master.job_generator
import
JobGenerator
input
=
fluid
.
layers
.
data
(
name
=
'input'
,
shape
=
[
1
,
28
,
28
],
dtype
=
"float32"
)
label
=
fluid
.
layers
.
data
(
name
=
'label'
,
shape
=
[
1
],
dtype
=
'int64'
)
...
...
@@ -28,27 +29,7 @@ place = fluid.CPUPlace()
exe
=
fluid
.
Executor
(
place
)
exe
.
run
(
startup_program
)
def
save_program
(
program_path
):
if
not
os
.
path
.
exists
(
program_path
):
os
.
makedirs
(
program_path
)
main_program_str
=
fluid
.
default_main_program
().
desc
.
serialize_to_string
()
startup_program_str
=
fluid
.
default_startup_program
(
).
desc
.
serialize_to_string
()
params
=
fluid
.
default_main_program
().
global_block
().
all_parameters
()
para_info
=
[]
for
pa
in
params
:
para_info
.
append
(
pa
.
name
)
with
open
(
program_path
+
'/para_info'
,
'w'
)
as
fout
:
for
item
in
para_info
:
fout
.
write
(
"%s
\n
"
%
item
)
with
open
(
program_path
+
'/startup_program'
,
"wb"
)
as
fout
:
fout
.
write
(
startup_program_str
)
with
open
(
program_path
+
'/main_program'
,
"wb"
)
as
fout
:
fout
.
write
(
main_program_str
)
with
open
(
program_path
+
'/loss_name'
,
'w'
)
as
fout
:
fout
.
write
(
avg_cost
.
name
)
job_generator
=
JobGenerator
()
program_path
=
'./load_file'
save_program
(
program_path
)
job_generator
.
save_program
(
program_path
,
avg_cost
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录