test: update PP-OCRv4/v5 unit testings

This commit is contained in:
SWHL committed 2026-06-22 22:07:04 +08:00
1 parent 1be3e8980c
commit 92c2d93a40
7 files changed
+85 -19

No files matched your search

+4 -4
View File
@@ -127,8 +127,8 @@ EngineConfig:
Det:
engine_type: "onnxruntime"
lang_type: "ch"
model_type: "mobile"
ocr_version: "PP-OCRv4"
model_type: "small"
ocr_version: "PP-OCRv6"
task_type: "det"
@@ -166,8 +166,8 @@ Cls:
Rec:
engine_type: "onnxruntime"
lang_type: "ch"
model_type: "mobile"
ocr_version: "PP-OCRv4"
model_type: "small"
ocr_version: "PP-OCRv6"
task_type: "rec"
+7 -7
View File
@@ -35,13 +35,6 @@ root_dir = Path(__file__).resolve().parent
DEFAULT_CFG_PATH = root_dir / "config.yaml"
def normalize_cli_lang_type(lang_type: str) -> Union[LangRec, str]:
try:
return LangRec(lang_type)
except ValueError:
return lang_type
class RapidOCR:
def __init__(
self, config_path: Optional[str] = None, params: Optional[Dict[str, Any]] = None
@@ -425,6 +418,13 @@ def parse_args(arg_list: Optional[List[str]] = None):
return args
def normalize_cli_lang_type(lang_type: str) -> Union[LangRec, str]:
try:
return LangRec(lang_type)
except ValueError:
return lang_type
def main(arg_list: Optional[List[str]] = None):
args = parse_args(arg_list)
+1 -1
View File
@@ -66,7 +66,7 @@ PP_OCRV6_LANGS = frozenset(
"nl",
"no",
"oc",
"pi",
"pl",
"pt",
"qu",
"rm",
+12 -1
View File
@@ -9,7 +9,7 @@ from pytest import mark
root_dir = Path(__file__).resolve().parent.parent
sys.path.append(str(root_dir))
from rapidocr import EngineType, ModelType, OCRVersion, RapidOCR
from rapidocr import EngineType, LangRec, ModelType, OCRVersion, RapidOCR
from rapidocr.utils.utils import import_package
tests_dir = root_dir / "tests" / "test_files"
@@ -90,8 +90,13 @@ def test_engine_paddle(ocr_version, gt):
params={
"Det.engine_type": EngineType.PADDLE,
"Det.ocr_version": ocr_version,
"Det.lang_type": LangRec.CH,
"Det.model_type": ModelType.MOBILE,
"Cls.engine_type": EngineType.PADDLE,
"Rec.engine_type": EngineType.PADDLE,
"Rec.ocr_version": OCRVersion.PPOCRV4,
"Rec.lang_type": LangRec.CH,
"Rec.model_type": ModelType.MOBILE,
}
)
@@ -103,9 +108,15 @@ def test_engine_paddle(ocr_version, gt):
def test_engine_torch():
engine = RapidOCR(
params={
"Det.ocr_version": OCRVersion.PPOCRV4,
"Det.model_type": ModelType.MOBILE,
"Det.lang_type": LangRec.CH,
"Det.engine_type": EngineType.TORCH,
"Cls.engine_type": EngineType.TORCH,
"Rec.engine_type": EngineType.TORCH,
"Rec.ocr_version": OCRVersion.PPOCRV4,
"Rec.model_type": ModelType.MOBILE,
"Rec.lang_type": LangRec.CH,
}
)
+22 -2
View File
@@ -12,7 +12,14 @@ from pytest import mark
root_dir = Path(__file__).resolve().parent.parent
sys.path.append(str(root_dir))
from rapidocr import LoadImageError, RapidOCR
from rapidocr import (
EngineType,
LangRec,
LoadImageError,
ModelType,
OCRVersion,
RapidOCR,
)
from rapidocr.utils.parse_parameters import ParseParams
test_dir = root_dir / "tests" / "test_files"
@@ -22,7 +29,20 @@ config_path = root_dir / "rapidocr" / "config.yaml"
@pytest.fixture()
def engine():
engine = RapidOCR()
engine = RapidOCR(
params={
"Det.ocr_version": OCRVersion.PPOCRV4,
"Det.model_type": ModelType.MOBILE,
"Det.engine_type": EngineType.ONNXRUNTIME,
"Cls.ocr_version": OCRVersion.PPOCRV4,
"Cls.model_type": ModelType.MOBILE,
"Cls.engine_type": EngineType.ONNXRUNTIME,
"Rec.ocr_version": OCRVersion.PPOCRV4,
"Rec.model_type": ModelType.MOBILE,
"Rec.engine_type": EngineType.ONNXRUNTIME,
"Rec.lang_type": LangRec.CH,
}
)
return engine
+24 -2
View File
@@ -138,7 +138,18 @@ def test_en_lang(ocr_version):
def test_ch_doc_server():
engine = RapidOCR(
params={"Rec.lang_type": LangRec.CH_DOC, "Rec.model_type": ModelType.SERVER}
params={
"Det.ocr_version": OCRVersion.PPOCRV4,
"Det.model_type": ModelType.MOBILE,
"Det.engine_type": EngineType.ONNXRUNTIME,
"Cls.ocr_version": OCRVersion.PPOCRV4,
"Cls.model_type": ModelType.MOBILE,
"Cls.engine_type": EngineType.ONNXRUNTIME,
"Rec.ocr_version": OCRVersion.PPOCRV4,
"Rec.model_type": ModelType.SERVER,
"Rec.engine_type": EngineType.ONNXRUNTIME,
"Rec.lang_type": LangRec.CH_DOC,
}
)
img_path = tests_dir / "ch_doc_server.png"
@@ -149,7 +160,18 @@ def test_ch_doc_server():
def test_server_rec():
engine = RapidOCR(
params={"Rec.lang_type": LangRec.CH, "Rec.model_type": ModelType.SERVER}
params={
"Det.ocr_version": OCRVersion.PPOCRV4,
"Det.model_type": ModelType.MOBILE,
"Det.engine_type": EngineType.ONNXRUNTIME,
"Cls.ocr_version": OCRVersion.PPOCRV4,
"Cls.model_type": ModelType.MOBILE,
"Cls.engine_type": EngineType.ONNXRUNTIME,
"Rec.ocr_version": OCRVersion.PPOCRV4,
"Rec.model_type": ModelType.SERVER,
"Rec.engine_type": EngineType.ONNXRUNTIME,
"Rec.lang_type": LangRec.CH_DOC,
}
)
result = engine(img_path)
assert result.txts is not None
+15 -2
View File
@@ -11,14 +11,27 @@ from pytest import mark
root_dir = Path(__file__).resolve().parent.parent
sys.path.append(str(root_dir))
from rapidocr import RapidOCR
from rapidocr import EngineType, LangRec, ModelType, OCRVersion, RapidOCR
test_dir = root_dir / "tests" / "test_files"
@pytest.fixture()
def engine():
engine = RapidOCR()
engine = RapidOCR(
params={
"Det.ocr_version": OCRVersion.PPOCRV4,
"Det.model_type": ModelType.MOBILE,
"Det.engine_type": EngineType.ONNXRUNTIME,
"Cls.ocr_version": OCRVersion.PPOCRV4,
"Cls.model_type": ModelType.MOBILE,
"Cls.engine_type": EngineType.ONNXRUNTIME,
"Rec.ocr_version": OCRVersion.PPOCRV4,
"Rec.model_type": ModelType.MOBILE,
"Rec.engine_type": EngineType.ONNXRUNTIME,
"Rec.lang_type": LangRec.CH,
}
)
return engine