diff --git a/paddleocr-service/main.py b/paddleocr-service/main.py index 04b7e77..455136d 100644 --- a/paddleocr-service/main.py +++ b/paddleocr-service/main.py @@ -48,6 +48,13 @@ def _load_model(): logger.info(f"PaddleOCR init strategy {i} failed: {e}") else: raise RuntimeError("All PaddleOCR init strategies failed") + # Warmup: run a dummy OCR to trigger JIT compilation + # Without this, the first real request takes minutes on CPU + logger.info("Running warmup OCR (JIT compilation)...") + dummy = np.ones((50, 200, 3), dtype=np.uint8) * 255 + _engine.ocr(dummy) + logger.info("Warmup complete") + _ready = True logger.info("PaddleOCR model loaded successfully — ready to serve") except Exception as e: