Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
deepinfer
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yangxue
deepinfer
Commits
a4fe9ff5
Commit
a4fe9ff5
authored
Mar 05, 2024
by
xin.wang.waytous
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
int8-support
parent
66e4307c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
35 additions
and
17 deletions
+35
-17
CMakeLists.txt
CMakeLists.txt
+2
-2
trt_infer.cpp
src/libs/inferences/tensorrt/trt_infer.cpp
+17
-8
trt_yolov5_infer.cpp
src/libs/inferences/tensorrt/trt_yolov5_infer.cpp
+15
-6
track.cpp
src/libs/trackers/track.cpp
+1
-1
No files found.
CMakeLists.txt
View file @
a4fe9ff5
...
...
@@ -27,8 +27,8 @@ include_directories(include)
# tensorrt
# include_directories(/root/TensorRT/TensorRT-7.0.0.11-cuda-10.0/include)
# link_directories(/root/TensorRT/TensorRT-7.0.0.11-cuda-10.0/lib)
include_directories
(
/
root/TensorRT
/TensorRT-8.2.3.0/include
)
link_directories
(
/
root/TensorRT
/TensorRT-8.2.3.0/lib
)
include_directories
(
/
home/ubuntu/projects/infer/cuda
/TensorRT-8.2.3.0/include
)
link_directories
(
/
home/ubuntu/projects/infer/cuda
/TensorRT-8.2.3.0/lib
)
# aarch64
# # figure out real path
# include_directories(/home/nvidia/.../tensorrt-7.1-aarch64-DCN/include)
...
...
src/libs/inferences/tensorrt/trt_infer.cpp
View file @
a4fe9ff5
...
...
@@ -168,11 +168,19 @@ bool TRTInference::BuildEngine(YAML::Node& configNode){
#endif
}
else
if
(
runMode
==
2
){
//int8
LOG_ERROR
<<
"No supported int8"
;
/*LOG_INFO <<"Set Int8 Mode";
if (!builder->platformHasFastInt8())
LOG_INFO << "Notice: the platform do not has fast for int8.";
// LOG_ERROR << "No supported int8";
// /*
LOG_INFO
<<
"Set Int8 Mode"
;
if
(
!
builder
->
platformHasFastInt8
()){
LOG_INFO
<<
"Notice: the platform do not has fast for int8."
;
return
false
;
}
// builder->setInt8Mode(true);
#ifdef TRT_8
builderConfig
->
setFlag
(
nvinfer1
::
BuilderFlag
::
kINT8
);
#else
builder
->
setInt8Mode
(
true
);
#endif
if
(
configNode
[
"calibImgPathFile"
].
as
<
std
::
string
>
().
size
()
>
0
){
std
::
vector
<
float
>
inputMean
=
configNode
[
"inputMean"
].
as
<
std
::
vector
<
float
>>
();
std
::
vector
<
float
>
inputStd
=
configNode
[
"inputStd"
].
as
<
std
::
vector
<
float
>>
();
...
...
@@ -180,16 +188,17 @@ bool TRTInference::BuildEngine(YAML::Node& configNode){
configNode
[
"calibImgPathFile"
].
as
<
std
::
string
>
(),
configNode
[
"calibTableCache"
].
as
<
std
::
string
>
(),
maxBatchSize
,
configNode
[
"inputWidth"
].
as
<
int
>
(),
configNode
[
"inputHeight"
].
as
<
int
>
(),
inputMean, inputStd,
useBGR, fixAspectRatio
inputMean
,
inputStd
,
configNode
[
"useBGR"
].
as
<
bool
>
(),
configNode
[
"fixAspectRatio"
].
as
<
bool
>
()
);
builder->setInt8Calibrator(calibrator);
// builder->setInt8Calibrator(calibrator);
builderConfig
->
setInt8Calibrator
(
calibrator
);
}
else
{
LOG_ERROR
<<
"Not imgs for calib int8. "
<<
configNode
[
"calibImgPathFile"
].
as
<
std
::
string
>
();
return
false
;
}
*/
return
false
;
//
*/
//
return false;
}
LOG_INFO
<<
"Begin building engine..."
;
...
...
src/libs/inferences/tensorrt/trt_yolov5_infer.cpp
View file @
a4fe9ff5
...
...
@@ -356,16 +356,25 @@ bool YoloV5TRTInference::BuildEngine(YAML::Node& configNode){
if
(
runMode
==
1
){
config
->
setFlag
(
BuilderFlag
::
kFP16
);
}
else
if
(
runMode
==
2
){
LOG_ERROR
<<
"no supported int8"
;
/*LOG_INFO << "Your platform support int8: " << (builder->platformHasFastInt8() ? "true" : "false");
// LOG_ERROR << "no supported int8";
// /*
LOG_INFO
<<
"Your platform support int8: "
<<
(
builder
->
platformHasFastInt8
()
?
"true"
:
"false"
);
assert
(
builder
->
platformHasFastInt8
());
config->setFlag(BuilderFlag::kINT8);
// config->setFlag(BuilderFlag::kINT8);
#ifdef TRT_8
config
->
setFlag
(
nvinfer1
::
BuilderFlag
::
kINT8
);
#else
builder
->
setInt8Mode
(
true
);
#endif
std
::
vector
<
float
>
inputMean
=
configNode
[
"inputMean"
].
as
<
std
::
vector
<
float
>>
();
std
::
vector
<
float
>
inputStd
=
configNode
[
"inputStd"
].
as
<
std
::
vector
<
float
>>
();
calibrator
=
new
int8EntroyCalibrator
(
configNode
[
"calibImgPathFile"
].
as
<
std
::
string
>
(),
configNode
[
"calibTableCache"
].
as
<
std
::
string
>
(),
maxBatchSize, inputWidth, inputHeight, inputMean, inputStd, useBGR);
maxBatchSize
,
inputWidth
,
inputHeight
,
inputMean
,
inputStd
,
configNode
[
"useBGR"
].
as
<
bool
>
(),
configNode
[
"fixAspectRatio"
].
as
<
bool
>
());
config
->
setInt8Calibrator
(
calibrator
);
*/
return
false
;
//
*/
//
return false;
}
LOG_INFO
<<
"Building engine, please wait for a while..."
;
...
...
src/libs/trackers/track.cpp
View file @
a4fe9ff5
...
...
@@ -123,7 +123,7 @@ void Track::update(Track &new_track, int frame_id)
// update obj_
this
->
obj_
->
update
(
new_track
.
obj_
);
this
->
obj_
->
update
(
tlbr
);
//
this->obj_->update(tlbr);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment