From 441fe44970c72f4d2c0f0aec0bab8eee8b051636 Mon Sep 17 00:00:00 2001 From: lightment Date: Wed, 16 Sep 2026 09:12:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(ocr):=20=E5=85=BC=E5=AE=B9=20rapidocr=203.9?= =?UTF-8?q?.0=EF=BC=8C=E6=98=BE=E5=BC=8F=E4=BC=A0=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=20model=5Froot=5Fdir=20=E8=A7=84=E9=81=BF=20omegaconf?= =?UTF-8?q?=20=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rapidocr 3.9.0 的 _load_config 在 model_root_dir 为 None 时会写入 Path 对象,omegaconf 不支持而抛 UnsupportedValueType,导致 OCR 模型加载失败、 任务反复自动重启游戏。在 _create_ocr/_create_det_ocr_for_onnx/ _create_det_ocr_for_ncnn 三处 params 显式传入字符串规避。 --- module/ocr/al_ocr.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/module/ocr/al_ocr.py b/module/ocr/al_ocr.py index 620979ced0..8805afd033 100644 --- a/module/ocr/al_ocr.py +++ b/module/ocr/al_ocr.py @@ -325,6 +325,9 @@ def _create_ocr(name): model_path, rec_keys_path, ocr_version = _get_onnx_model_params(name) params = { + # rapidocr 3.9.0 的 _load_config 在 model_root_dir 为 None 时写入 Path + # 对象,omegaconf 不支持而抛 UnsupportedValueType,显式传字符串规避 + "Global.model_root_dir": os.getcwd(), "Global.use_det": False, "Global.use_cls": False, "Det.model_path": None, @@ -411,6 +414,7 @@ def _create_det_ocr_for_onnx(name): use_coreml = ocr_device == 'ane' model_path, rec_keys_path, ocr_version = _get_onnx_model_params(name) params = { + "Global.model_root_dir": os.getcwd(), "Global.use_det": True, "Global.use_cls": False, "Det.model_path": DET_MODEL_PATH, @@ -437,6 +441,7 @@ def _create_det_ocr_for_onnx(name): def _create_det_ocr_for_ncnn(): """为 ncnn 后端创建 DetOnlyOCR 实例。""" params = { + "Global.model_root_dir": os.getcwd(), "Global.use_det": True, "Global.use_cls": False, "Global.use_rec": False,