Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
d5275892
Mace
项目概览
Xiaomi
/
Mace
通知
107
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看板
提交
d5275892
编写于
2月 13, 2018
作者:
L
liuqi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix source converter bug: use half type for cpu runtime.
上级
cc2908e7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
5 deletion
+9
-5
python/tools/source_converter_lib.py
python/tools/source_converter_lib.py
+9
-5
未找到文件。
python/tools/source_converter_lib.py
浏览文件 @
d5275892
...
@@ -73,12 +73,16 @@ def rename_tensor(net_def):
...
@@ -73,12 +73,16 @@ def rename_tensor(net_def):
op
.
output
[
i
]
=
tensor_map
[
op
.
output
[
i
]]
op
.
output
[
i
]
=
tensor_map
[
op
.
output
[
i
]]
class
TensorInfo
:
class
TensorInfo
:
def
__init__
(
self
,
t
):
def
__init__
(
self
,
t
,
runtime
):
self
.
name
=
t
.
name
self
.
name
=
t
.
name
self
.
data_type
=
mace_pb2
.
DataType
.
Name
(
t
.
data_type
)
self
.
data_type
=
mace_pb2
.
DataType
.
Name
(
t
.
data_type
)
if
t
.
data_type
==
mace_pb2
.
DT_FLOAT
:
if
t
.
data_type
==
mace_pb2
.
DT_FLOAT
:
self
.
data_type
=
mace_pb2
.
DT_HALF
if
runtime
==
'gpu'
:
self
.
data
=
bytearray
(
np
.
array
(
t
.
float_data
).
astype
(
np
.
float16
).
tobytes
())
self
.
data_type
=
mace_pb2
.
DT_HALF
self
.
data
=
bytearray
(
np
.
array
(
t
.
float_data
).
astype
(
np
.
float16
).
tobytes
())
else
:
self
.
data_type
=
mace_pb2
.
DT_FLOAT
self
.
data
=
bytearray
(
np
.
array
(
t
.
float_data
).
astype
(
np
.
float32
).
tobytes
())
elif
t
.
data_type
==
mace_pb2
.
DT_INT32
:
elif
t
.
data_type
==
mace_pb2
.
DT_INT32
:
self
.
data
=
bytearray
(
np
.
array
(
t
.
int32_data
).
astype
(
np
.
int32
).
tobytes
())
self
.
data
=
bytearray
(
np
.
array
(
t
.
int32_data
).
astype
(
np
.
int32
).
tobytes
())
elif
t
.
data_type
==
mace_pb2
.
DT_UINT8
:
elif
t
.
data_type
==
mace_pb2
.
DT_UINT8
:
...
@@ -107,7 +111,7 @@ def convert_to_source(net_def, mode_pb_checksum, template, obfuscate, model_tag,
...
@@ -107,7 +111,7 @@ def convert_to_source(net_def, mode_pb_checksum, template, obfuscate, model_tag,
# generate tensor source files
# generate tensor source files
for
t
in
net_def
.
tensors
:
for
t
in
net_def
.
tensors
:
source
=
j2_env
.
get_template
(
template_name
).
render
(
source
=
j2_env
.
get_template
(
template_name
).
render
(
tensor_info
=
TensorInfo
(
t
),
tensor_info
=
TensorInfo
(
t
,
runtime
),
tensor
=
t
,
tensor
=
t
,
tag
=
model_tag
,
tag
=
model_tag
,
mode
=
0
,
mode
=
0
,
...
@@ -134,7 +138,7 @@ def convert_to_source(net_def, mode_pb_checksum, template, obfuscate, model_tag,
...
@@ -134,7 +138,7 @@ def convert_to_source(net_def, mode_pb_checksum, template, obfuscate, model_tag,
counter
+=
1
counter
+=
1
# generate model source files
# generate model source files
tensors
=
[
TensorInfo
(
t
)
for
t
in
net_def
.
tensors
]
tensors
=
[
TensorInfo
(
t
,
runtime
)
for
t
in
net_def
.
tensors
]
source
=
j2_env
.
get_template
(
template_name
).
render
(
source
=
j2_env
.
get_template
(
template_name
).
render
(
tensors
=
tensors
,
tensors
=
tensors
,
net
=
net_def
,
net
=
net_def
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录