cannot access local variable 'transpose_weight_keys' where it is not associated with a value
🔎 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 (问题描述)
Im having this error:
cannot access local variable 'transpose_weight_keys' where it is not associated with a value
Any Help?
🏃♂️ Environment (运行环境)
OS Mac 15.7.1
Python 3.12.5
PaddleOCR 3.2.0
Enviroment Jupyter
RAM 16GB
CPU Apple M1 Pro
CUDA None
🌰 Minimal Reproducible Example (最小可复现问题的Demo)
My Code:
from paddleocr import PPStructureV3
pipeline = PPStructureV3(
lang='pt',
use_doc_orientation_classify=True,
use_doc_unwarping=True,
use_textline_orientation=True,
)
Hi,may I ask what your versions of PaddlePaddle and PaddleX are?
相同的版本也会这样,使用的版本: paddleocr[ocr]==3.3.0 paddlepaddle==3.2.0 paddlex[ocr]==3.3.3
没有gpu,只有cpu,ubuntu 24.04下运行,执行的代码: text_detection_model_name = "PP-OCRv5_mobile_det" text_recognition_model_name = "PP-OCRv5_mobile_rec"
ocr = PPStructureV3( text_detection_model_name = text_detection_model_name, text_recognition_model_name = text_recognition_model_name, use_doc_orientation_classify = True, use_doc_unwarping = False, use_textline_orientation = True, lang = "ch" )
一运行,就会出现该问题:
File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddleocr/_pipelines/pp_structurev3.py", line 137, in init super().init(**kwargs) File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddleocr/_pipelines/base.py", line 67, in init self.paddlex_pipeline = self._create_paddlex_pipeline() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddleocr/_pipelines/base.py", line 105, in _create_paddlex_pipeline return create_pipeline(config=self._merged_paddlex_config, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/init.py", line 167, in create_pipeline pipeline = BasePipeline.get(pipeline_name)( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/utils/deps.py", line 206, in _wrapper return old_init_func(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/_parallel.py", line 103, in init self._pipeline = self._create_internal_pipeline(config, self.device) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/_parallel.py", line 158, in _create_internal_pipeline return self._pipeline_cls( ^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/layout_parsing/pipeline_v2.py", line 84, in init self.inintial_predictor(config) File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/layout_parsing/pipeline_v2.py", line 215, in inintial_predictor self.chart_recognition_model = self.create_model( ^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/base.py", line 106, in create_model model = create_predictor( ^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/init.py", line 87, in create_predictor return BasePredictor.get(model_name)( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/doc_vlm/predictor.py", line 66, in init self.infer, self.processor = self._build(**kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/doc_vlm/predictor.py", line 131, in _build model = PPChart2TableInference.from_pretrained( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/common/vlm/transformers/model_utils.py", line 1940, in from_pretrained transpose_weight_keys=transpose_weight_keys, ^^^^^^^^^^^^^^^^^^^^^ UnboundLocalError: cannot access local variable 'transpose_weight_keys' where it is not associated with a value
Thank you for your feedback, we will investigate and fix this issue as soon as possible.
请先使用 paddleocr3.2 试试,这个问题我们预计周一会修复
Same issue as well on macOS when running the example command: paddleocr pp_structurev3 -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png --use_doc_orientation_classify False --use_doc_unwarping False
Here are my dependencies:
dependencies = [
"langchain<1.0.0", # 0.3.27
"paddleocr[all]>=3.3.0", # 3.3.0
"paddlepaddle>=3.2.0", # 3.2.0
]
It is recommended to upgrade to the latest versions of paddleocr and paddlex, as this issue has been fixed in the latest versions. Please try running your code again after the update.
相同的版本也会这样,使用的版本: paddleocr[ocr]==3.3.0 paddlepaddle==3.2.0 paddlex[ocr]==3.3.3
没有gpu,只有cpu,ubuntu 24.04下运行,执行的代码: text_detection_model_name = "PP-OCRv5_mobile_det" text_recognition_model_name = "PP-OCRv5_mobile_rec"
ocr = PPStructureV3( text_detection_model_name = text_detection_model_name, text_recognition_model_name = text_recognition_model_name, use_doc_orientation_classify = True, use_doc_unwarping = False, use_textline_orientation = True, lang = "ch" )
一运行,就会出现该问题:
File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddleocr/_pipelines/pp_structurev3.py", line 137, in init super().init(**kwargs) File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddleocr/_pipelines/base.py", line 67, in init self.paddlex_pipeline = self._create_paddlex_pipeline() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddleocr/_pipelines/base.py", line 105, in _create_paddlex_pipeline return create_pipeline(config=self._merged_paddlex_config, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/init.py", line 167, in create_pipeline pipeline = BasePipeline.get(pipeline_name)( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/utils/deps.py", line 206, in _wrapper return old_init_func(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/_parallel.py", line 103, in init self._pipeline = self._create_internal_pipeline(config, self.device) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/_parallel.py", line 158, in _create_internal_pipeline return self._pipeline_cls( ^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/layout_parsing/pipeline_v2.py", line 84, in init self.inintial_predictor(config) File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/layout_parsing/pipeline_v2.py", line 215, in inintial_predictor self.chart_recognition_model = self.create_model( ^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/pipelines/base.py", line 106, in create_model model = create_predictor( ^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/init.py", line 87, in create_predictor return BasePredictor.get(model_name)( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/doc_vlm/predictor.py", line 66, in init self.infer, self.processor = self._build(**kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/doc_vlm/predictor.py", line 131, in _build model = PPChart2TableInference.from_pretrained( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/MyPassport/pyenv-2.6.7/versions/env-for-paddleocr3/lib/python3.12/site-packages/paddlex/inference/models/common/vlm/transformers/model_utils.py", line 1940, in from_pretrained transpose_weight_keys=transpose_weight_keys, ^^^^^^^^^^^^^^^^^^^^^ UnboundLocalError: cannot access local variable 'transpose_weight_keys' where it is not associated with a value
使用: paddleocr[ocr]==3.3.1 paddlepaddle==3.2.1 paddlex[ocr]==3.3.6 测试,就没有发现这个错误了