Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
b1e6b364
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 2 年 前同步成功
通知
285
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看板
提交
b1e6b364
编写于
12月 19, 2019
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug
上级
8e9b98f4
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
17 addition
and
78 deletion
+17
-78
paddlehub/module/module.py
paddlehub/module/module.py
+17
-78
未找到文件。
paddlehub/module/module.py
浏览文件 @
b1e6b364
...
@@ -56,36 +56,10 @@ HUB_VAR_PREFIX = "@HUB_%s@"
...
@@ -56,36 +56,10 @@ HUB_VAR_PREFIX = "@HUB_%s@"
# PaddleHub Module package suffix
# PaddleHub Module package suffix
HUB_PACKAGE_SUFFIX
=
"phm"
HUB_PACKAGE_SUFFIX
=
"phm"
_module_signatures_dict
=
defaultdict
(
list
)
def
signature
(
func
):
mod
=
func
.
__qualname__
.
split
(
"."
)[:
-
1
]
mod
=
"."
.
join
(
mod
)
mod_signs
=
_module_signatures_dict
[
mod
]
mod_signs
.
append
(
func
.
__name__
)
def
_wrapper
(
*
args
,
**
kwargs
):
return
func
(
*
args
,
**
kwargs
)
return
_wrapper
def
default_signature
(
func
):
mod
=
func
.
__qualname__
.
split
(
"."
)[:
-
1
]
mod
=
"."
.
join
(
mod
)
mod_signs
=
_module_signatures_dict
[
mod
]
mod_signs
.
insert
(
0
,
func
.
__name__
)
def
_wrapper
(
*
args
,
**
kwargs
):
return
func
(
*
args
,
**
kwargs
)
return
_wrapper
def
create_module
(
directory
,
name
,
author
,
email
,
module_type
,
summary
,
def
create_module
(
directory
,
name
,
author
,
email
,
module_type
,
summary
,
version
):
version
):
output_fil
e
=
"{}.{}"
.
format
(
name
,
HUB_PACKAGE_SUFFIX
)
save_file_nam
e
=
"{}.{}"
.
format
(
name
,
HUB_PACKAGE_SUFFIX
)
# record module info and serialize
# record module info and serialize
desc
=
module_desc_pb2
.
ModuleDesc
()
desc
=
module_desc_pb2
.
ModuleDesc
()
...
@@ -118,7 +92,7 @@ def create_module(directory, name, author, email, module_type, summary,
...
@@ -118,7 +92,7 @@ def create_module(directory, name, author, email, module_type, summary,
file
.
write
(
""
)
file
.
write
(
""
)
# package the module
# package the module
with
tarfile
.
open
(
output_fil
e
,
"w:gz"
)
as
tar
:
with
tarfile
.
open
(
save_file_nam
e
,
"w:gz"
)
as
tar
:
for
dirname
,
_
,
files
in
os
.
walk
(
directory
):
for
dirname
,
_
,
files
in
os
.
walk
(
directory
):
for
file
in
files
:
for
file
in
files
:
tar
.
add
(
os
.
path
.
join
(
dirname
,
file
))
tar
.
add
(
os
.
path
.
join
(
dirname
,
file
))
...
@@ -141,9 +115,16 @@ class Module(object):
...
@@ -141,9 +115,16 @@ class Module(object):
elif
directory
:
elif
directory
:
module
=
cls
.
init_with_directory
(
directory
=
directory
)
module
=
cls
.
init_with_directory
(
directory
=
directory
)
elif
module_dir
:
elif
module_dir
:
# todo
logger
.
warning
(
logger
.
warning
(
""
)
"Parameter module_dir is deprecated, please use directory to specify the path"
module
=
cls
.
init_with_directory
(
directory
=
module_dir
[
0
])
)
if
isinstance
(
module_dir
,
list
)
or
isinstance
(
module_dir
,
tuple
):
directory
=
module_dir
[
0
]
version
=
module_dir
[
1
]
else
:
directory
=
module_dir
module
=
cls
.
init_with_directory
(
directory
=
directory
)
if
not
module
:
if
not
module
:
module
=
object
.
__new__
(
cls
)
module
=
object
.
__new__
(
cls
)
...
@@ -156,22 +137,12 @@ class Module(object):
...
@@ -156,22 +137,12 @@ class Module(object):
version
=
None
):
version
=
None
):
if
not
directory
:
if
not
directory
:
return
return
# todo, add comment
self
.
_directory
=
directory
self
.
_directory
=
directory
# todo, add comment
self
.
module_desc_path
=
os
.
path
.
join
(
self
.
directory
,
MODULE_DESC_PBNAME
)
self
.
module_desc_path
=
os
.
path
.
join
(
self
.
directory
,
MODULE_DESC_PBNAME
)
self
.
_desc
=
module_desc_pb2
.
ModuleDesc
()
self
.
_desc
=
module_desc_pb2
.
ModuleDesc
()
self
.
_deserialize_desc
()
with
open
(
self
.
module_desc_path
,
"rb"
)
as
file
:
self
.
_desc
.
ParseFromString
(
file
.
read
())
self
.
_signatures
=
_module_signatures_dict
[
self
.
__class__
.
__name__
]
self
.
_default_signature
=
self
.
_signatures
[
0
]
if
self
.
_signatures
else
None
# todo
self
.
_initlitizer
()
# todo
module_info
=
self
.
desc
.
attr
.
map
.
data
[
'module_info'
]
module_info
=
self
.
desc
.
attr
.
map
.
data
[
'module_info'
]
self
.
_name
=
utils
.
from_module_attr_to_pyobj
(
self
.
_name
=
utils
.
from_module_attr_to_pyobj
(
module_info
.
map
.
data
[
'name'
])
module_info
.
map
.
data
[
'name'
])
...
@@ -208,7 +179,6 @@ class Module(object):
...
@@ -208,7 +179,6 @@ class Module(object):
checker
=
ModuleChecker
(
directory
)
checker
=
ModuleChecker
(
directory
)
checker
.
check
()
checker
.
check
()
# todo
module_code_version
=
checker
.
module_code_version
module_code_version
=
checker
.
module_code_version
if
module_code_version
==
"v2"
:
if
module_code_version
==
"v2"
:
basename
=
os
.
path
.
split
(
directory
)[
-
1
]
basename
=
os
.
path
.
split
(
directory
)[
-
1
]
...
@@ -219,16 +189,6 @@ class Module(object):
...
@@ -219,16 +189,6 @@ class Module(object):
return
pymodule
.
HubModule
(
directory
=
directory
)
return
pymodule
.
HubModule
(
directory
=
directory
)
return
ModuleV1
(
directory
=
directory
)
return
ModuleV1
(
directory
=
directory
)
def
_deserialize_desc
(
self
):
with
open
(
self
.
module_desc_path
,
"rb"
)
as
file
:
self
.
_desc
.
ParseFromString
(
file
.
read
())
def
_serialize_desc
(
self
):
pass
def
check_processor
(
self
):
pass
@
property
@
property
def
desc
(
self
):
def
desc
(
self
):
return
self
.
_desc
return
self
.
_desc
...
@@ -261,30 +221,10 @@ class Module(object):
...
@@ -261,30 +221,10 @@ class Module(object):
def
name
(
self
):
def
name
(
self
):
return
self
.
_name
return
self
.
_name
@
property
def
signatures
(
self
):
return
self
.
_signatures
@
property
def
default_signature
(
self
):
return
self
.
_default_signature
@
property
@
property
def
name_prefix
(
self
):
def
name_prefix
(
self
):
return
self
.
_name_prefix
return
self
.
_name_prefix
def
configs
(
self
):
return
[]
def
data_format
(
self
,
signature
):
raise
NotImplementedError
def
__call__
(
self
,
signature
,
data
,
use_gpu
=
False
,
batch_size
=
1
,
**
kwargs
):
raise
NotImplementedError
def
context
(
self
,
inputs
=
None
,
program
=
None
,
trainable
=
False
,
**
kwargs
):
raise
NotImplementedError
class
ModuleHelper
(
object
):
class
ModuleHelper
(
object
):
def
__init__
(
self
,
directory
):
def
__init__
(
self
,
directory
):
...
@@ -309,15 +249,14 @@ class ModuleHelper(object):
...
@@ -309,15 +249,14 @@ class ModuleHelper(object):
class
ModuleV1
(
Module
):
class
ModuleV1
(
Module
):
def
__init__
(
self
,
name
=
None
,
directory
=
None
,
module_dir
=
None
,
def
__init__
(
self
,
name
=
None
,
directory
=
None
,
module_dir
=
None
,
version
=
None
):
version
=
None
):
# todo, add comment
if
not
directory
:
if
not
directory
:
return
return
super
(
ModuleV1
,
self
).
__init__
(
name
,
directory
,
module_dir
,
version
)
super
(
ModuleV1
,
self
).
__init__
(
name
,
directory
,
module_dir
,
version
)
self
.
program
=
None
self
.
program
=
None
self
.
assets
=
[]
self
.
assets
=
[]
self
.
helper
=
None
self
.
helper
=
None
self
.
_
signatures
=
{}
self
.
signatures
=
{}
self
.
_
default_signature
=
None
self
.
default_signature
=
None
self
.
processor
=
None
self
.
processor
=
None
self
.
extra_info
=
{}
self
.
extra_info
=
{}
...
@@ -473,7 +412,7 @@ class ModuleV1(Module):
...
@@ -473,7 +412,7 @@ class ModuleV1(Module):
# recover default signature
# recover default signature
default_signature_name
=
utils
.
from_module_attr_to_pyobj
(
default_signature_name
=
utils
.
from_module_attr_to_pyobj
(
self
.
desc
.
attr
.
map
.
data
[
'default_signature'
])
self
.
desc
.
attr
.
map
.
data
[
'default_signature'
])
self
.
_
default_signature
=
self
.
signatures
[
self
.
default_signature
=
self
.
signatures
[
default_signature_name
].
name
if
default_signature_name
else
None
default_signature_name
].
name
if
default_signature_name
else
None
# recover module info
# recover module info
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录