Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
3b5c1a81
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 1 年 前同步成功
通知
282
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3b5c1a81
编写于
1月 21, 2019
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
get program from variable when create module
上级
b42065bc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
8 deletion
+20
-8
paddle_hub/module.py
paddle_hub/module.py
+20
-8
未找到文件。
paddle_hub/module.py
浏览文件 @
3b5c1a81
...
...
@@ -276,22 +276,37 @@ class ModuleConfig(object):
return
os
.
path
.
join
(
meta_path
,
GENERATOR_FILENAME
)
def
create_module
(
sign_arr
,
program
,
module_dir
=
None
,
word_dict
=
None
):
def
create_module
(
sign_arr
,
module_dir
=
None
,
word_dict
=
None
):
""" Create a module from main program
"""
assert
isinstance
(
program
,
fluid
.
Program
),
"program should be instance of fluid.Program"
assert
sign_arr
,
"signature array should not be None"
# check all variable
sign_arr
=
to_list
(
sign_arr
)
program
=
sign_arr
[
0
].
get_inputs
()[
0
].
block
.
program
for
sign
in
sign_arr
:
assert
isinstance
(
sign
,
Signature
),
"sign_arr should be list of Signature"
for
input
in
sign
.
get_inputs
():
_tmp_program
=
input
.
block
.
program
assert
program
==
_tmp_program
,
"all the variable should come from the same program"
for
output
in
sign
.
get_outputs
():
_tmp_program
=
output
.
block
.
program
assert
program
==
_tmp_program
,
"all the variable should come from the same program"
# create module path for saving
if
module_dir
is
None
:
module_dir
=
os
.
path
.
join
(
"."
,
"hub_module"
)
# create module path for saving
mkdir
(
module_dir
)
# create module pb
module_desc
=
module_desc_pb2
.
ModuleDesc
()
module_desc
.
version
=
__version__
program
=
program
.
clone
()
# save asset
if
word_dict
is
None
:
module_desc
.
contain_assets
=
False
else
:
...
...
@@ -332,11 +347,8 @@ def create_module(sign_arr, program, module_dir=None, word_dict=None):
# save signarture info
sign_map
=
module_desc
.
sign2var
sign_arr
=
to_list
(
sign_arr
)
program
=
sign_arr
[
0
].
get_inputs
()[
0
].
block
.
program
for
sign
in
sign_arr
:
assert
isinstance
(
sign
,
Signature
),
"sign_arr should be list of Signature"
if
sign
.
get_name
()
in
sign_map
:
raise
"Error! sign_arr contains repeat signatrue %s"
%
sign
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录