|
|
|
@ -169,6 +169,19 @@ int AIModel_Impl::Init(AIModelRun_Config config)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_bInitSuccess = true;
|
|
|
|
m_bInitSuccess = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// warm-up:首次推理会触发 TensorRT/CUDA 懒初始化(kernel 加载、workspace 分配、首次 enqueueV3 建图等),
|
|
|
|
|
|
|
|
// 提前用一张空图预热,避免首张检测图耗时飙升。
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
cv::Mat warmIn = InitMat(m_pNode_input_0->channel, m_pNode_input_0->width, m_pNode_input_0->height);
|
|
|
|
|
|
|
|
cv::Mat warmOut;
|
|
|
|
|
|
|
|
int warmRe = AIDet(warmIn, warmOut);
|
|
|
|
|
|
|
|
if (warmRe != 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("%s warm-up error = %d\n", m_modelRun_Config.strName.c_str(), warmRe);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cv::Mat AIModel_Impl::InitMat(int channel, int w, int h)
|
|
|
|
cv::Mat AIModel_Impl::InitMat(int channel, int w, int h)
|
|
|
|
|