diff --git a/paddle/fluid/inference/api/analysis_predictor.cc b/paddle/fluid/inference/api/analysis_predictor.cc index 36ef2ca754d69a0932ba42faa609fc0e713128ac..929984f50a7b8d3f652a214551c03550fdf61e5d 100644 --- a/paddle/fluid/inference/api/analysis_predictor.cc +++ b/paddle/fluid/inference/api/analysis_predictor.cc @@ -409,7 +409,10 @@ void AnalysisPredictor::MkldnnPreSet( void AnalysisPredictor::MkldnnPostReset() { #ifdef PADDLE_WITH_MKLDNN // In cache clearing mode. - if (config_.mkldnn_cache_capacity_ > 0) { + if (config_.mkldnn_cache_capacity_ > 0 && + static_cast( + (&platform::DeviceContextPool::Instance())->Get(platform::CPUPlace())) + ->GetCachedObjectsNumber() > 0) { if (VLOG_IS_ON(2)) { auto shape_blob_size = static_cast( (&platform::DeviceContextPool::Instance())