PaddleOCR
PaddleOCR copied to clipboard
paddleocr3.3.0推理一张图像与paddleX兼容性问题
🔎 Search before asking
- [x] I have searched the PaddleOCR Docs and found no similar bug report.
- [x] I have searched the PaddleOCR Issues and found no similar bug report.
- [x] I have searched the PaddleOCR Discussions and found no similar bug report.
🐛 Bug (问题描述)
使用demo中在线/离线推理# 运行 PP-OCRv5 推理,均报错“'_pp_option'. Did you mean: 'pp_option'?” 指令: paddleocr ocr -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False
输出: File "/usr/local/lib/python3.10/dist-packages/paddlex/inference/models/base/predictor/base_predictor.py", line 302, in create_static_infer self.model_name, self.model_dir, self.MODEL_FILE_PREFIX, self._pp_option AttributeError: 'TextRecPredictor' object has no attribute '_pp_option'. Did you mean: 'pp_option'?
🏃♂️ Environment (运行环境)
环境: linux 下docker pull 下拉镜像(ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle 3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6 e3bb80f2368c 6 months ago 30.8GB )再安装paddleocr paddleocr 3.3.0 paddle3.3.4 or 3.3.3
🌰 Minimal Reproducible Example (最小可复现问题的Demo)
1
我是python3.12 环境下也遇到 pp_option 问题
我也遇到该问题,目前已解决。 初步推测:该问题是由于paddlex中的模型文件没有更新,重新拉取安装并不会对已有模型文件进行更新,我的做法是删除了.paddleocr和.paddlex文件夹下的模型,重新拉取下载就解决了。 Windows的存放路径:C:\Users<用户名>.paddleocr\whl<model_type><language>\
我这里确实没能复现该问题,相关依赖版本如下:
paddleocr 3.3.0
paddlepaddle-gpu 3.2.0
paddlex 3.3.4
请问能否提供完整的输出日志,方便我们进一步定位排查。或者新建一个Python环境重新安装依赖试试,看下该问题是否能稳定复现。
定
我的问题解决了,cuda 版本没对应上的问题
我在linux环境也遇到类似问题
我也遇到了类似的情况,cuda版本是12.8:
@lc345 建议更新paddlex到3.3.6版本,再试试呢?
@lc345 奇怪,可以贴一下复现代码吗?我试试。
我也是这样的问题: from paddleocr import PaddleOCR
ocr = PaddleOCR( text_detection_model_name="PP-OCRv5_server_det", text_recognition_model_name="PP-OCRv5_server_rec", use_doc_orientation_classify=False, use_doc_unwarping=False, use_textline_orientation=False, ) result = ocr.predict("./10318.jpg") for res in result: res.print() res.save_to_img("output") res.save_to_json("output")
日志:
��Ϣ: ���ṩ��ģʽ���ҵ��ļ���
D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddle\utils\cpp_extension\extension_utils.py:718: 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)
Creating model: ('PP-OCRv5_server_det', None)
Model files already exist. Using cached files. To redownload, please delete the directory manually: C:\Users\Molya\.paddlex\official_models\PP-OCRv5_server_det.
WARNING: Logging before InitGoogleLogging() is written to STDERR
I1105 16:00:03.560312 77376 onednn_context.cc:81] oneDNN v3.6.2
Creating model: ('PP-OCRv5_server_rec', None)
Model files already exist. Using cached files. To redownload, please delete the directory manually: C:\Users\Molya\.paddlex\official_models\PP-OCRv5_server_rec.
Traceback (most recent call last):
File "D:\pythonproject\MT-XingjiPaiming\t.py", line 3, in
我也是这样的问题: from paddleocr import PaddleOCR
ocr = PaddleOCR( text_detection_model_name="PP-OCRv5_server_det", text_recognition_model_name="PP-OCRv5_server_rec", use_doc_orientation_classify=False, use_doc_unwarping=False, use_textline_orientation=False, ) result = ocr.predict("./10318.jpg") for res in result: res.print() res.save_to_img("output") res.save_to_json("output")
日志: ��Ϣ: ���ṩ��ģʽ���ҵ��ļ��� D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddle\utils\cpp_extension\extension_utils.py:718: 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) Creating model: ('PP-OCRv5_server_det', None) Model files already exist. Using cached files. To redownload, please delete the directory manually:
C:\Users\Molya\.paddlex\official_models\PP-OCRv5_server_det. WARNING: Logging before InitGoogleLogging() is written to STDERR I1105 16:00:03.560312 77376 onednn_context.cc:81] oneDNN v3.6.2 Creating model: ('PP-OCRv5_server_rec', None) Model files already exist. Using cached files. To redownload, please delete the directory manually:C:\Users\Molya\.paddlex\official_models\PP-OCRv5_server_rec. Traceback (most recent call last): File "D:\pythonproject\MT-XingjiPaiming\t.py", line 3, in ocr = PaddleOCR( text_detection_model_name="PP-OCRv5_server_det", ...<3 lines>... use_textline_orientation=False, ) File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddleocr_pipelines\ocr.py", line 163, in init super().init(**base_params) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddleocr_pipelines\base.py", line 67, in init self.paddlex_pipeline = self._create_paddlex_pipeline() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddleocr_pipelines\base.py", line 105, in create_paddlex_pipeline return create_pipeline(config=self.merged_paddlex_config, **kwargs) File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\pipelines__init.py", line 167, in create_pipeline pipeline = BasePipeline.get(pipeline_name)( config=config, ...<5 lines>... **kwargs, ) File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\utils\deps.py", line 206, in _wrapper return old_init_func(self, *args, **kwargs) File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\pipelines_parallel.py", line 103, in init self._pipeline = self._create_internal_pipeline(config, self.device) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\pipelines_parallel.py", line 158, in create_internal_pipeline return self.pipeline_cls( ~~~~~~~~~~~~~~~~~~^ config, ^^^^^^^ ...<3 lines>... hpi_config=self.hpi_config, ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\pipelines\ocr\pipeline.py", line 135, in init self.text_rec_model = self.create_model( ~~~~~~~~~~~~~~~~~^ text_rec_config, input_shape=self.input_shape ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\pipelines\base.py", line 106, in create_model model = create_predictor( model_name=config["model_name"], ...<7 lines>... **kwargs, ) File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\models__init.py", line 84, in create_predictor return BasePredictor.get(model_name)( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ model_dir=model_dir, ^^^^^^^^^^^^^^^^^^^^ ...<8 lines>... **kwargs, ^^^^^^^^^ ) ^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\utils\deps.py", line 156, in _wrapper return old_init_func(self, *args, **kwargs) File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\models\text_recognition\predictor.py", line 56, in init self.pre_tfs, self.infer, self.post_op = self._build() ~~~~~~~~~~~^^ File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\models\text_recognition\predictor.py", line 76, in _build infer = self.create_static_infer() File "D:\pythonproject\MT-XingjiPaiming.venv\Lib\site-packages\paddlex\inference\models\base\predictor\base_predictor.py", line 302, in create_static_infer self.model_name, self.model_dir, self.MODEL_FILE_PREFIX, self._pp_option ^^^^^^^^^^^^^^^ AttributeError: 'TextRecPredictor' object has no attribute '_pp_option'. Did you mean: 'pp_option'?
删除掉 .paddlex文件夹再重新运行下载正常了