Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
8d0922ed
P
Paddle
项目概览
BaiXuePrincess
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
8d0922ed
编写于
9月 23, 2021
作者:
W
Wilber
提交者:
GitHub
9月 23, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix trt problem (#35938)
上级
9b8aafe5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
27 addition
and
4 deletion
+27
-4
cmake/external/lite.cmake
cmake/external/lite.cmake
+1
-1
paddle/fluid/inference/api/analysis_predictor.cc
paddle/fluid/inference/api/analysis_predictor.cc
+18
-3
paddle/fluid/inference/tensorrt/engine.h
paddle/fluid/inference/tensorrt/engine.h
+8
-0
未找到文件。
cmake/external/lite.cmake
浏览文件 @
8d0922ed
...
@@ -50,7 +50,7 @@ if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
...
@@ -50,7 +50,7 @@ if (NOT LITE_SOURCE_DIR OR NOT LITE_BINARY_DIR)
set
(
LITE_INSTALL_DIR
${
THIRD_PARTY_PATH
}
/install/lite
)
set
(
LITE_INSTALL_DIR
${
THIRD_PARTY_PATH
}
/install/lite
)
if
(
NOT LITE_GIT_TAG
)
if
(
NOT LITE_GIT_TAG
)
set
(
LITE_GIT_TAG
d3a3a6931b6d22d504d21ba32b3ae972770e9204
)
set
(
LITE_GIT_TAG
4ab64daecc11fbf74fffdc6a4733f388472e7d5d
)
endif
()
endif
()
if
(
NOT CUDA_ARCH_NAME
)
if
(
NOT CUDA_ARCH_NAME
)
...
...
paddle/fluid/inference/api/analysis_predictor.cc
浏览文件 @
8d0922ed
...
@@ -686,9 +686,24 @@ void AnalysisPredictor::OptimizeInferenceProgram() {
...
@@ -686,9 +686,24 @@ void AnalysisPredictor::OptimizeInferenceProgram() {
// Note, please do NOT use any member variables, because member variables may
// Note, please do NOT use any member variables, because member variables may
// have been destructed in multiple threads.
// have been destructed in multiple threads.
#if PADDLE_WITH_TENSORRT
#if PADDLE_WITH_TENSORRT
paddle
::
inference
::
Singleton
<
auto
&
block
=
prog
->
Block
(
0
);
inference
::
tensorrt
::
TRTEngineManager
>::
Global
()
for
(
auto
&
op_desc
:
block
.
AllOps
())
{
.
DeleteAll
();
if
(
op_desc
->
Type
()
==
"tensorrt_engine"
)
{
std
::
string
engine_key
=
BOOST_GET_CONST
(
std
::
string
,
op_desc
->
GetAttr
(
"engine_key"
));
int
engine_predictor_id
=
BOOST_GET_CONST
(
int
,
op_desc
->
GetAttr
(
"predictor_id"
));
std
::
string
engine_name
=
engine_key
+
std
::
to_string
(
engine_predictor_id
);
if
(
paddle
::
inference
::
Singleton
<
inference
::
tensorrt
::
TRTEngineManager
>::
Global
()
.
Has
(
engine_name
))
{
paddle
::
inference
::
Singleton
<
inference
::
tensorrt
::
TRTEngineManager
>::
Global
()
.
DeleteKey
(
engine_name
);
}
}
}
#endif
#endif
delete
prog
;
delete
prog
;
});
});
...
...
paddle/fluid/inference/tensorrt/engine.h
浏览文件 @
8d0922ed
...
@@ -631,6 +631,14 @@ class TRTEngineManager {
...
@@ -631,6 +631,14 @@ class TRTEngineManager {
}
}
}
}
void
DeleteKey
(
const
std
::
string
&
key
)
{
auto
iter
=
engines_
.
find
(
key
);
if
(
iter
!=
engines_
.
end
())
{
iter
->
second
.
reset
(
nullptr
);
engines_
.
erase
(
iter
);
}
}
private:
private:
std
::
unordered_map
<
std
::
string
,
std
::
unique_ptr
<
TensorRTEngine
>>
engines_
;
std
::
unordered_map
<
std
::
string
,
std
::
unique_ptr
<
TensorRTEngine
>>
engines_
;
};
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录