Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
74aba878
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,发现更多精彩内容 >>
提交
74aba878
编写于
4月 27, 2018
作者:
刘
刘琦
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'reduce_tuning_time' into 'master'
Reduce model tuning time See merge request !435
上级
fdb477e2
53a79f58
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
14 addition
and
7 deletion
+14
-7
docs/user/introduction.md
docs/user/introduction.md
+0
-2
mace/utils/tuner.h
mace/utils/tuner.h
+8
-3
tools/example.yaml
tools/example.yaml
+0
-1
tools/mace_tools.py
tools/mace_tools.py
+6
-1
未找到文件。
docs/user/introduction.md
浏览文件 @
74aba878
...
@@ -168,7 +168,6 @@ target_abis: [armeabi-v7a, arm64-v8a]
...
@@ -168,7 +168,6 @@ target_abis: [armeabi-v7a, arm64-v8a]
# 具体机型的soc编号,可以使用`adb shell getprop | grep ro.board.platform | cut -d [ -f3 | cut -d ] -f1`获取
# 具体机型的soc编号,可以使用`adb shell getprop | grep ro.board.platform | cut -d [ -f3 | cut -d ] -f1`获取
target_socs
:
[
msm8998
]
target_socs
:
[
msm8998
]
embed_model_data
:
1
embed_model_data
:
1
vlog_level
:
0
models
:
# 一个配置文件可以包含多个模型的配置信息,最终生成的库中包含多个模型
models
:
# 一个配置文件可以包含多个模型的配置信息,最终生成的库中包含多个模型
first_net
:
# 模型的标签,在调度模型的时候,会用这个变量
first_net
:
# 模型的标签,在调度模型的时候,会用这个变量
platform
:
tensorflow
platform
:
tensorflow
...
@@ -218,7 +217,6 @@ models: # 一个配置文件可以包含多个模型的配置信息,最终生
...
@@ -218,7 +217,6 @@ models: # 一个配置文件可以包含多个模型的配置信息,最终生
| ---------- |:--------------:|
| ---------- |:--------------:|
| target_abis | 运行的ABI,可选包括安卓设备的armeabi-v7a,arm64-v8a等,以及开发人员的电脑终端(电脑终端使用‘host’表示)。可以同时指定多个ABI |
| target_abis | 运行的ABI,可选包括安卓设备的armeabi-v7a,arm64-v8a等,以及开发人员的电脑终端(电脑终端使用‘host’表示)。可以同时指定多个ABI |
| embed_model_data | 是否将模型里的数据嵌入到代码中,默认为1 |
| embed_model_data | 是否将模型里的数据嵌入到代码中,默认为1 |
| vlog_level | 设置log打印的级别 |
| platform | 模型对应的框架名称 [tensorflow | caffe] |
| platform | 模型对应的框架名称 [tensorflow | caffe] |
| model_file_path | 模型的路径,可以是一个http或https的下载链接 |
| model_file_path | 模型的路径,可以是一个http或https的下载链接 |
| weight_file_path | 权重文件的路径,可以是一个http或https的下载链接(caffe model)|
| weight_file_path | 权重文件的路径,可以是一个http或https的下载链接(caffe model)|
...
...
mace/utils/tuner.h
浏览文件 @
74aba878
...
@@ -141,13 +141,18 @@ class Tuner {
...
@@ -141,13 +141,18 @@ class Tuner {
double
*
time_us
,
double
*
time_us
,
std
::
vector
<
param_type
>
*
tuning_result
)
{
std
::
vector
<
param_type
>
*
tuning_result
)
{
RetType
res
;
RetType
res
;
int
iter
=
0
;
int64_t
total_time_us
=
0
;
int64_t
total_time_us
=
0
;
for
(
i
nt
i
=
0
;
i
<
num_runs
;
++
i
)
{
for
(
i
ter
=
0
;
iter
<
num_runs
;
++
iter
)
{
res
=
func
(
params
,
timer
,
tuning_result
);
res
=
func
(
params
,
timer
,
tuning_result
);
total_time_us
+=
timer
->
AccumulatedMicros
();
total_time_us
+=
timer
->
AccumulatedMicros
();
if
(
iter
>=
1
&&
total_time_us
>
100000
||
total_time_us
>
200000
)
{
++
iter
;
break
;
}
}
}
*
time_us
=
total_time_us
*
1.0
/
num_runs
;
*
time_us
=
total_time_us
*
1.0
/
iter
;
return
res
;
return
res
;
}
}
...
@@ -167,7 +172,7 @@ class Tuner {
...
@@ -167,7 +172,7 @@ class Tuner {
for
(
auto
param
:
params
)
{
for
(
auto
param
:
params
)
{
double
tmp_time
=
0.0
;
double
tmp_time
=
0.0
;
// warm up
// warm up
Run
<
RetType
>
(
func
,
param
,
timer
,
2
,
&
tmp_time
,
&
tuning_result
);
Run
<
RetType
>
(
func
,
param
,
timer
,
1
,
&
tmp_time
,
&
tuning_result
);
// run
// run
RetType
tmp_res
=
RetType
tmp_res
=
...
...
tools/example.yaml
浏览文件 @
74aba878
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
target_abis
:
[
armeabi-v7a
,
arm64-v8a
]
target_abis
:
[
armeabi-v7a
,
arm64-v8a
]
target_socs
:
[
MSM8953
]
target_socs
:
[
MSM8953
]
embed_model_data
:
1
embed_model_data
:
1
vlog_level
:
0
models
:
models
:
preview_net
:
preview_net
:
platform
:
tensorflow
platform
:
tensorflow
...
...
tools/mace_tools.py
浏览文件 @
74aba878
...
@@ -349,6 +349,11 @@ def parse_args():
...
@@ -349,6 +349,11 @@ def parse_args():
type
=
"bool"
,
type
=
"bool"
,
default
=
"false"
,
default
=
"false"
,
help
=
"Collect report."
)
help
=
"Collect report."
)
parser
.
add_argument
(
"--vlog_level"
,
type
=
int
,
default
=
0
,
help
=
"VLOG level."
)
return
parser
.
parse_known_args
()
return
parser
.
parse_known_args
()
...
@@ -567,7 +572,7 @@ def main(unused_args):
...
@@ -567,7 +572,7 @@ def main(unused_args):
target_socs
=
get_target_socs
(
configs
)
target_socs
=
get_target_socs
(
configs
)
embed_model_data
=
configs
.
get
(
"embed_model_data"
,
1
)
embed_model_data
=
configs
.
get
(
"embed_model_data"
,
1
)
vlog_level
=
configs
.
get
(
"vlog_level"
,
0
)
vlog_level
=
FLAGS
.
vlog_level
phone_data_dir
=
"/data/local/tmp/mace_run/"
phone_data_dir
=
"/data/local/tmp/mace_run/"
for
target_abi
in
configs
[
"target_abis"
]:
for
target_abi
in
configs
[
"target_abis"
]:
for
target_soc
in
target_socs
:
for
target_soc
in
target_socs
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录