Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
Mace
提交
bcdb3026
Mace
项目概览
慢慢CG
/
Mace
与 Fork 源项目一致
Fork自
Xiaomi / Mace
通知
1
Star
0
Fork
0
代码
文件
提交
分支
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看板
提交
bcdb3026
编写于
12月 20, 2017
作者:
L
Liangliang He
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update gcn script and mace_run
上级
84e14b2d
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
20 addition
and
22 deletion
+20
-22
mace/examples/mace_run.cc
mace/examples/mace_run.cc
+17
-21
tools/validate_gcn.sh
tools/validate_gcn.sh
+3
-1
未找到文件。
mace/examples/mace_run.cc
浏览文件 @
bcdb3026
...
@@ -12,7 +12,6 @@
...
@@ -12,7 +12,6 @@
* --output_file=mace.out \
* --output_file=mace.out \
* --device=NEON
* --device=NEON
*/
*/
#include <sys/time.h>
#include <fstream>
#include <fstream>
#include <numeric>
#include <numeric>
#include <iostream>
#include <iostream>
...
@@ -99,7 +98,7 @@ int main(int argc, char **argv) {
...
@@ -99,7 +98,7 @@ int main(int argc, char **argv) {
int64_t
t0
=
utils
::
NowMicros
();
int64_t
t0
=
utils
::
NowMicros
();
NetDef
net_def
=
mace
::
MACE_MODEL_FUNCTION
();
NetDef
net_def
=
mace
::
MACE_MODEL_FUNCTION
();
int64_t
t1
=
utils
::
NowMicros
();
int64_t
t1
=
utils
::
NowMicros
();
LOG
(
INFO
)
<<
"CreateNetDef duration: "
<<
t1
-
t0
<<
"us"
;
LOG
(
INFO
)
<<
"CreateNetDef duration: "
<<
t1
-
t0
<<
"
us"
;
int64_t
init_micros
=
t1
-
t0
;
int64_t
init_micros
=
t1
-
t0
;
DeviceType
device_type
=
ParseDeviceType
(
device
);
DeviceType
device_type
=
ParseDeviceType
(
device
);
...
@@ -119,29 +118,26 @@ int main(int argc, char **argv) {
...
@@ -119,29 +118,26 @@ int main(int argc, char **argv) {
mace
::
MaceEngine
engine
(
&
net_def
,
device_type
);
mace
::
MaceEngine
engine
(
&
net_def
,
device_type
);
t1
=
utils
::
NowMicros
();
t1
=
utils
::
NowMicros
();
init_micros
+=
t1
-
t0
;
init_micros
+=
t1
-
t0
;
LOG
(
INFO
)
<<
"Net init duration: "
<<
t1
-
t0
<<
"us"
;
LOG
(
INFO
)
<<
"Net init duration: "
<<
t1
-
t0
<<
"
us"
;
LOG
(
INFO
)
<<
"Total init duration: "
<<
init_micros
<<
"us"
;
LOG
(
INFO
)
<<
"Total init duration: "
<<
init_micros
<<
"
us"
;
std
::
vector
<
int64_t
>
output_shape
;
std
::
vector
<
int64_t
>
output_shape
;
VLOG
(
0
)
<<
"warm up"
;
VLOG
(
0
)
<<
"Warm up"
;
// warm up
t0
=
utils
::
NowMicros
();
for
(
int
i
=
0
;
i
<
1
;
++
i
)
{
engine
.
Run
(
input_data
.
get
(),
shape
,
output_shape
);
engine
.
Run
(
input_data
.
get
(),
shape
,
output_shape
);
}
t1
=
utils
::
NowMicros
();
LOG
(
INFO
)
<<
"1st warm up run duration: "
<<
t1
-
t0
<<
" us"
;
if
(
round
>
0
)
{
VLOG
(
0
)
<<
"Run model"
;
VLOG
(
0
)
<<
"Run model"
;
timeval
tv1
,
tv2
;
t0
=
utils
::
NowMicros
();
gettimeofday
(
&
tv1
,
NULL
);
for
(
int
i
=
0
;
i
<
round
;
++
i
)
{
for
(
int
i
=
0
;
i
<
round
;
++
i
)
{
engine
.
Run
(
input_data
.
get
(),
shape
,
output_shape
);
engine
.
Run
(
input_data
.
get
(),
shape
,
output_shape
);
}
}
gettimeofday
(
&
tv2
,
NULL
);
t1
=
utils
::
NowMicros
();
std
::
cout
<<
"avg duration: "
LOG
(
INFO
)
<<
"Avg duration: "
<<
(
t1
-
t0
)
/
(
double
)
round
<<
" us"
;
<<
((
tv2
.
tv_sec
-
tv1
.
tv_sec
)
*
1000
+
}
(
tv2
.
tv_usec
-
tv1
.
tv_usec
)
/
1000
)
/
round
<<
endl
;
const
float
*
output
=
engine
.
Run
(
input_data
.
get
(),
shape
,
output_shape
);
const
float
*
output
=
engine
.
Run
(
input_data
.
get
(),
shape
,
output_shape
);
if
(
output
!=
nullptr
)
{
if
(
output
!=
nullptr
)
{
...
...
tools/validate_gcn.sh
浏览文件 @
bcdb3026
...
@@ -53,8 +53,10 @@ build_and_run()
...
@@ -53,8 +53,10 @@ build_and_run()
num_threads
=
${
1
:-
4
}
num_threads
=
${
1
:-
4
}
if
[[
"
${
TUNING_OR_NOT
}
"
!=
"0"
&&
"
$EMBED_OPENCL_BINARY
"
!=
true
]]
;
then
if
[[
"
${
TUNING_OR_NOT
}
"
!=
"0"
&&
"
$EMBED_OPENCL_BINARY
"
!=
true
]]
;
then
tuning_flag
=
1
tuning_flag
=
1
round
=
0
# only warm up
else
else
tuning_flag
=
0
tuning_flag
=
0
round
=
2
fi
fi
adb </dev/null shell
MACE_TUNING
=
${
tuning_flag
}
\
adb </dev/null shell
MACE_TUNING
=
${
tuning_flag
}
\
...
@@ -70,7 +72,7 @@ build_and_run()
...
@@ -70,7 +72,7 @@ build_and_run()
--input_file
=
${
PHONE_DATA_DIR
}
/
${
INPUT_FILE_NAME
}
\
--input_file
=
${
PHONE_DATA_DIR
}
/
${
INPUT_FILE_NAME
}
\
--output_file
=
${
PHONE_DATA_DIR
}
/
${
OUTPUT_FILE_NAME
}
\
--output_file
=
${
PHONE_DATA_DIR
}
/
${
OUTPUT_FILE_NAME
}
\
--device
=
OPENCL
\
--device
=
OPENCL
\
--round
=
2
--round
=
$round
}
}
echo
"Step 1: Generate input data"
echo
"Step 1: Generate input data"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录