Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
a1ca390d
MegEngine
项目概览
MegEngine 天元
/
MegEngine
大约 1 年 前同步成功
通知
399
Star
4705
Fork
582
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MegEngine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a1ca390d
编写于
6月 08, 2022
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(lite): fix const shape error for lar fitting mode
GitOrigin-RevId: 1cea25fe4cec845d509295286e03bf112ba99eea
上级
2001c494
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
26 deletion
+17
-26
lite/load_and_run/src/strategys/strategy_fitting.cpp
lite/load_and_run/src/strategys/strategy_fitting.cpp
+17
-26
未找到文件。
lite/load_and_run/src/strategys/strategy_fitting.cpp
浏览文件 @
a1ca390d
...
@@ -29,7 +29,8 @@ void OptionsFastManager::init(std::shared_ptr<OptionMap>& options) {
...
@@ -29,7 +29,8 @@ void OptionsFastManager::init(std::shared_ptr<OptionMap>& options) {
m_internal_options_name
=
{
m_internal_options_name
=
{
{
"enable_fuse_conv_bias_with_z"
},
{
"enable_fuse_conv_bias_with_z"
},
{
"enable_fuse_preprocess"
},
{
"enable_fuse_preprocess"
},
{
"record_comp_seq"
}};
{
"record_comp_seq"
},
{
"const_shape"
}};
//! record the independent option value
//! record the independent option value
for
(
auto
&
option
:
*
options
)
{
for
(
auto
&
option
:
*
options
)
{
auto
option_vals
=
option
.
second
->
get_option
();
auto
option_vals
=
option
.
second
->
get_option
();
...
@@ -226,17 +227,21 @@ void OptionsTimeProfiler::profile_with_given_options(
...
@@ -226,17 +227,21 @@ void OptionsTimeProfiler::profile_with_given_options(
auto
average
=
inference_time
/
runtime_param
.
run_iter
;
auto
average
=
inference_time
/
runtime_param
.
run_iter
;
if
(
exception_state
)
{
if
(
exception_state
)
{
average
=
TIME_OUT
;
average
=
TIME_OUT
;
}
printf
(
"out of time (this may be caused by some exception, please checkout the "
"log) when profile option:
\n
%s
\n
"
,
//! record profile result
option_code
.
c_str
());
printf
(
"profile option:
\n
%s
\n
average time = %.2f
\n
"
,
option_code
.
c_str
(),
average
);
}
else
{
m_options_profile_result
.
insert
({
option_code
,
average
});
printf
(
"profile option:
\n
%s
\n
average time = %.2f
\n
"
,
option_code
.
c_str
(),
average
);
//! record the best result
//! record profile result
m_options_profile_result
.
insert
({
option_code
,
average
});
if
(
average
<
m_best_setting
.
second
)
{
m_best_setting
.
first
=
option_code
;
//! record the best result
m_best_setting
.
second
=
average
;
if
(
average
<
m_best_setting
.
second
)
{
m_best_setting
.
first
=
option_code
;
m_best_setting
.
second
=
average
;
}
}
}
}
}
/////////////////////////// UserInfoParser /////////////////////////////
/////////////////////////// UserInfoParser /////////////////////////////
...
@@ -244,23 +249,9 @@ void UserInfoParser::get_user_info() {
...
@@ -244,23 +249,9 @@ void UserInfoParser::get_user_info() {
//! register user information tips
//! register user information tips
std
::
vector
<
std
::
pair
<
std
::
string
,
std
::
string
>>
info_tips
;
std
::
vector
<
std
::
pair
<
std
::
string
,
std
::
string
>>
info_tips
;
m_user_info
[
"fitting_preference"
]
=
"Inferspeed"
;
m_user_info
[
"fitting_preference"
]
=
"Inferspeed"
;
info_tips
.
push_back
(
{
"use_const_shape"
,
"whether the input shape is constant?(yes/no)?"
});
for
(
auto
&
tip
:
info_tips
)
{
std
::
cout
<<
tip
.
second
;
std
::
string
answer
=
""
;
std
::
cin
>>
answer
;
m_user_info
[
tip
.
first
]
=
answer
;
}
}
}
void
UserInfoParser
::
parse_info
(
std
::
shared_ptr
<
OptionsFastManager
>&
manager
)
{
void
UserInfoParser
::
parse_info
(
std
::
shared_ptr
<
OptionsFastManager
>&
manager
)
{
std
::
vector
<
std
::
string
>
fixed_options
;
std
::
vector
<
std
::
string
>
fixed_options
;
if
(
m_user_info
[
"use_const_shape"
]
==
"yes"
)
{
fixed_options
.
push_back
(
"const_shape"
);
}
else
if
(
m_user_info
[
"use_const_shape"
]
!=
"no"
)
{
mgb_log_error
(
"invalid user information for
\"
use_const_shape
\"
"
);
}
fixed_options
.
push_back
(
"enable_fuse_conv_bias_nonlinearity"
);
fixed_options
.
push_back
(
"enable_fuse_conv_bias_nonlinearity"
);
std
::
vector
<
std
::
string
>
tmp_options
;
std
::
vector
<
std
::
string
>
tmp_options
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录