diff --git a/paddleocr-service/main.py b/paddleocr-service/main.py index 35ed0c3..6e2778e 100644 --- a/paddleocr-service/main.py +++ b/paddleocr-service/main.py @@ -8,8 +8,16 @@ import threading # Disable oneDNN/MKLDNN before importing paddle — avoids # ConvertPirAttribute2RuntimeAttribute errors on PaddlePaddle 3.x os.environ["FLAGS_use_mkldnn"] = "0" +os.environ["FLAGS_use_onednn"] = "0" os.environ["PADDLE_PDX_DISABLE_MODEL_SOURCE_CHECK"] = "1" +# Must set paddle flags before import +try: + import paddle + paddle.set_flags({"FLAGS_use_mkldnn": False}) +except Exception: + pass + import numpy as np from fastapi import FastAPI, File, Header, HTTPException, UploadFile from PIL import Image @@ -35,7 +43,9 @@ def _load_model(): logger.info("Import done. Loading PaddleOCR model...") # Try multiple init strategies for different PaddleOCR versions inits = [ - # PaddleOCR 3.x — use_textline_orientation replaces use_angle_cls + # PaddleOCR 3.x — disable MKLDNN via enable_mkldnn=False + dict(lang="en", ocr_version="PP-OCRv5", use_textline_orientation=True, enable_mkldnn=False), + # PaddleOCR 3.x without enable_mkldnn param dict(lang="en", ocr_version="PP-OCRv5", use_textline_orientation=True), # PaddleOCR 3.x with deprecated param dict(lang="en", ocr_version="PP-OCRv5", use_angle_cls=True),