Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
4d43c38c
Mace
项目概览
Xiaomi
/
Mace
通知
106
Star
40
Fork
27
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mace
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4d43c38c
编写于
1月 10, 2018
作者:
L
liuqi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add model checksum api for track original model.
上级
1b871466
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
2 deletion
+19
-2
mace/examples/mace_run.cc
mace/examples/mace_run.cc
+3
-0
mace/python/tools/model.template
mace/python/tools/model.template
+4
-0
mace/python/tools/source_converter_lib.py
mace/python/tools/source_converter_lib.py
+2
-1
mace/python/tools/tf_converter.py
mace/python/tools/tf_converter.py
+10
-1
未找到文件。
mace/examples/mace_run.cc
浏览文件 @
4d43c38c
...
...
@@ -32,6 +32,8 @@ namespace MACE_MODEL_TAG {
extern
NetDef
CreateNet
();
extern
const
std
::
string
ModelChecksum
();
}
}
...
...
@@ -140,6 +142,7 @@ int main(int argc, char **argv) {
VLOG
(
0
)
<<
"mace version: "
<<
MaceVersion
()
<<
std
::
endl
<<
"mace git version: "
<<
MaceGitVersion
()
<<
std
::
endl
<<
"model checksum: "
<<
mace
::
MACE_MODEL_TAG
::
ModelChecksum
()
<<
std
::
endl
<<
"input_shape: "
<<
input_shape
<<
std
::
endl
<<
"output_shape: "
<<
output_shape
<<
std
::
endl
<<
"input_file: "
<<
input_file
<<
std
::
endl
...
...
mace/python/tools/model.template
浏览文件 @
4d43c38c
...
...
@@ -263,6 +263,10 @@ NetDef CreateNet() {
return net_def;
}
const std::string ModelChecksum() {
return {{ model_pb_checksum|tojson }};
}
} // namespace {{tag}}
} // namespace mace
{% endif %}
mace/python/tools/source_converter_lib.py
浏览文件 @
4d43c38c
...
...
@@ -86,7 +86,7 @@ class TensorInfo:
def
stringfy
(
value
):
return
', '
.
join
(
'"{0}"'
.
format
(
w
)
for
w
in
value
)
def
convert_to_source
(
net_def
,
template
,
obfuscate
,
model_tag
,
output
,
runtime
):
def
convert_to_source
(
net_def
,
mode_pb_checksum
,
template
,
obfuscate
,
model_tag
,
output
,
runtime
):
if
obfuscate
:
obfuscate_name
(
net_def
)
else
:
...
...
@@ -140,6 +140,7 @@ def convert_to_source(net_def, template, obfuscate, model_tag, output, runtime):
tag
=
model_tag
,
mode
=
2
,
runtime
=
runtime
,
model_pb_checksum
=
mode_pb_checksum
,
)
with
gfile
.
GFile
(
output
,
"wb"
)
as
f
:
f
.
write
(
source
)
mace/python/tools/tf_converter.py
浏览文件 @
4d43c38c
import
argparse
import
sys
import
hashlib
import
tensorflow
as
tf
from
tensorflow
import
gfile
from
mace.proto
import
mace_pb2
...
...
@@ -11,11 +12,19 @@ from mace.python.tools import source_converter_lib
FLAGS
=
None
def
md5
(
fname
):
hash_md5
=
hashlib
.
md5
()
with
open
(
fname
,
"rb"
)
as
f
:
for
chunk
in
iter
(
lambda
:
f
.
read
(
4096
),
b
""
):
hash_md5
.
update
(
chunk
)
return
hash_md5
.
hexdigest
()
def
main
(
unused_args
):
if
not
gfile
.
Exists
(
FLAGS
.
input
):
print
(
"Input graph file '"
+
FLAGS
.
input
+
"' does not exist!"
)
return
-
1
mode_pb_checksum
=
md5
(
FLAGS
.
input
)
input_graph_def
=
tf
.
GraphDef
()
with
gfile
.
Open
(
FLAGS
.
input
,
"rb"
)
as
f
:
data
=
f
.
read
()
...
...
@@ -29,7 +38,7 @@ def main(unused_args):
input_graph_def
,
FLAGS
.
input_node
,
FLAGS
.
output_node
,
FLAGS
.
data_type
,
FLAGS
.
runtime
)
if
FLAGS
.
output_type
==
'source'
:
source_converter_lib
.
convert_to_source
(
output_graph_def
,
FLAGS
.
template
,
FLAGS
.
obfuscate
,
source_converter_lib
.
convert_to_source
(
output_graph_def
,
mode_pb_checksum
,
FLAGS
.
template
,
FLAGS
.
obfuscate
,
FLAGS
.
model_tag
,
FLAGS
.
output
,
FLAGS
.
runtime
)
else
:
with
gfile
.
GFile
(
FLAGS
.
output
,
"wb"
)
as
f
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录