diff --git a/modules/ANSFR/ANSFaceRecognizer.cpp b/modules/ANSFR/ANSFaceRecognizer.cpp index 8c9e21e..fc255e0 100644 --- a/modules/ANSFR/ANSFaceRecognizer.cpp +++ b/modules/ANSFR/ANSFaceRecognizer.cpp @@ -255,8 +255,23 @@ namespace ANSCENTER { if (engineType == EngineType::NVIDIA_GPU) { optimizedModelFolder = GetParentFolder(_modelFilePath); - m_options.optBatchSize = 8; - m_options.maxBatchSize = 32; + // Must match the runtime Initialize() config EXACTLY — otherwise the + // engine built/looked-up here has a different profile than the one + // Initialize() expects, causing either a stale `.b32` rebuild every + // launch (wasting 30-60s) or a load-time profile mismatch. + // Keep in sync with lines 100-114. + m_options.optBatchSize = 4; + m_options.maxBatchSize = 4; + + m_options.maxInputHeight = GPU_FACE_HEIGHT; + m_options.minInputHeight = GPU_FACE_HEIGHT; + m_options.optInputHeight = GPU_FACE_HEIGHT; + + m_options.maxInputWidth = GPU_FACE_WIDTH; + m_options.minInputWidth = GPU_FACE_WIDTH; + m_options.optInputWidth = GPU_FACE_WIDTH; + + m_options.calibrationBatchSize = 8; m_options.engineFileDir = optimizedModelFolder; m_options.precision = fp16 ? Precision::FP16 : Precision::FP32;