Replies: 1 comment
-
model_name和model_dir要匹配 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
PP-OCRv5的server模型该怎么使用?
我的脚本能正常使用自动下载的模型,但是下载server模型包在本地就无法正常使用。以下是脚本代码:
测试使用新导出的JSON模型的PaddleOCR.py
导入 paddleocr
导入 paddle # <--- 直接导入 paddle
导入 os
导入 traceback
print(f"PaddleOCR 版本: {paddleocr.version
print(f"PaddlePaddle 版本: {paddle.version
指向新导出的、包含 .json 格式模型的目录
new_exported_det_model_dir = r"C:\Users\KKBIRD\Desktop\照片\yolo模型\模型\PaddleOCR\导出的pdmodels\det_server_v5"
new_exported_rec_model_dir = r"C:\Users\KKBIRD\Desktop\照片\yolo模型\模型\PaddleOCR\导出的pdmodels\rec_server_v5"
print(f"\n新导出的检测模型目录: {new_exported_det_model_dir}")
if os.path.exists(new_exported_det_model_dir): print(f"内容: {os.listdir(new_exported_det_model_dir)}")
else: print(f"错误: 检测模型目录未找到"); exit()
print(f"\n新导出的识别模型目录:{new_exported_rec_model_dir}")
if os.path.exists(new_exported_rec_model_dir): print(f"内容:{os.listdir(new_exported_rec_model_dir)}")
else: print(f"错误:未找到识别模型目录"); exit()
ocr_params_server = {
"lang": 'ch',
"use_textline_orientation": False,
"text_detection_model_dir": new_exported_det_model_dir,
"text_recognition_model_dir": new_exported_rec_model_dir,
}
paddle_ocr_engine = None
尝试:
打印(f"\n正在使用新导出的JSON模型初始化PaddleOCR。参数:{ocr_params_server}")
paddle_ocr_engine = paddleocr.PaddleOCR(**ocr_params_server)
打印("成功使用新导出的JSON模型初始化PaddleOCR引擎。")
捕获异常:
打印(f"初始化PaddleOCR引擎时出错:{e}")
traceback.print_exc() # 打印完整的堆栈跟踪
if paddle_ocr_engine:
real_image_path = r"C:\Users\KKBIRD\Desktop\photo\yolo_model\PIC\3.jpg"
if os.path.exists(real_image_path):
try:
print(f"Running ocr() on image: {real_image_path} ...")
result = paddle_ocr_engine.ocr(real_image_path, cls=ocr_params_server.get("use_textline_orientation", False))
if result and result[0]:
print(f"\nOCR Results:")
for line_info in result[0]:
print(f" Box: {line_info[0]}, Text: '{line_info[1][0]}', Score: {line_info[1][1]:.4f}")
else:
print("No text detected or result is empty.")
except Exception as e:
print(f"Error during OCR: {e}")
traceback.print_exc()
else:
print(f"错误:未找到图像文件:{real_image_path}。")
else:
print("PaddleOCR引擎无法初始化。")
以下是执行报错:
PS C:\Users\KKBIRD\Desktop\photo\yolo_model\model\BarCode_Detect> & C:/ProgramData/miniconda3/python.exe c:/Users/KKBIRD/Desktop/photo/yolo_model/model/PaddleOCR/test.py
信息: 用提供的模式无法找到文件。
C:\ProgramData\miniconda3\Lib\site-packages\paddle\utils\cpp_extension\extension_utils.py:711: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md
warnings.warn(warning_message)
PaddleOCR 版本: 3.0.0
PaddlePaddle 版本: 3.0.0
新导出的检测模型目录: C:\Users\KKBIRD\Desktop\photo\yolo_model\model\PaddleOCR\exported_pdmodels\det_server_v5
目录内容: ['inference.json', 'inference.pdiparams', 'inference.yml']
新导出的识别模型目录: C:\Users\KKBIRD\Desktop\photo\yolo_model\model\PaddleOCR\exported_pdmodels\rec_server_v5
目录内容: ['inference.json', 'inference.pdiparams', 'inference.yml']
正在使用新导出的JSON模型初始化PaddleOCR。参数: {'lang': 'ch', 'use_textline_orientation': False, 'text_detection_model_dir': 'C:\Users\KKBIRD\Desktop\photo\yolo_model\model\PaddleOCR\exported_pdmodels\det_server_v5', 'text_recognition_model_dir': 'C:\Users\KKBIRD\Desktop\photo\yolo_model\model\PaddleOCR\exported_pdmodels\rec_server_v5'}
正在创建模型: ('PP-LCNet_x1_0_doc_ori', None)
使用官方模型 (PP-LCNet_x1_0_doc_ori),模型文件将自动下载并保存在 C:\Users\KKBIRD.paddlex\official_models。
正在创建模型: ('UVDoc', None)
使用官方模型 (UVDoc),模型文件将自动下载并保存在 C:\Users\KKBIRD.paddlex\official_models。
正在创建模型: ('PP-OCRv5_mobile_det', 'C:\Users\KKBIRD\Desktop\photo\yolo_model\model\PaddleOCR\exported_pdmodels\det_server_v5')
初始化 PaddleOCR 引擎时出错:模型名称不匹配,请输入正确的模型目录。
Traceback (most recent call last>:
文件 "c:\Users\KKBIRD\Desktop\photo\yolo_model\model\PaddleOCR\test.py",第32行,在
paddle_ocr_engine = paddleocr.PaddleOCR(**ocr_params_server)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddleocr_pipelines\ocr.py",第144行,在__init__方法中
super().init(**base_params)
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddleocr_pipelines\base.py",第73行,在__init__方法中
self.paddlex_pipeline = self._create_paddlex_pipeline()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddleocr_pipelines\base.py",第107行,在-_create_paddlex_pipeline方法中
return create_pipeline(config=self.merged_paddlex_config, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\inference\pipelines_init.py",第165行,在创建管道中
pipeline = BasePipeline.get(pipeline_name)(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\utils\deps.py", 第195行,在_wrapper
return old_init_func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\inference\pipelines_parallel.py", 第103行,在init
self._pipeline = self._create_internal_pipeline(config, self.device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\inference\pipelines_parallel.py", 第158行,在_create_internal_pipeline
return self.pipeline_cls(
^^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\inference\pipelines\ocr\pipeline.py",第114行,在__init__方法中
self.text_det_model = self.create_model(
^^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\inference\pipelines\base.py",第99行,在create_model方法中
model = create_predictor(
^^^^^^^^^^^^^^^^^
文件 "C:\ProgramData\miniconda3\Lib\site-packages\paddlex\inference\models_init.py",第75行,在create_predictor方法中
model_name == config["Global"]["model_name"]
断言错误:模型名称不匹配,请输入正确的模型目录。
PaddleOCR引擎无法初始化。
我甚至下载了PP-OCRv5_server_det_pretrained.pdparams和PP-OCRv5_server_rec_pretrained.pdparams使用export_model.py导出的包执行也是这个报错
不知道有解决方案或者关于server模型的文档吗?
Beta Was this translation helpful? Give feedback.
All reactions