Commit a4fe9ff5 authored by xin.wang.waytous's avatar xin.wang.waytous

int8-support

parent 66e4307c
......@@ -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)
......
......@@ -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..." ;
......
......@@ -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...";
......
......@@ -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);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment