PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

cannot access local variable 'transpose_weight_keys' where it is not associated with a value

Open javierjdaza opened this issue 2 months ago • 7 comments

🔎 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:

Image
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,
)

javierjdaza avatar Oct 17 '25 15:10 javierjdaza

Hi,may I ask what your versions of PaddlePaddle and PaddleX are?

cuicheng01 avatar Oct 18 '25 03:10 cuicheng01

相同的版本也会这样,使用的版本: 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

Miao367147258 avatar Oct 18 '25 08:10 Miao367147258

Thank you for your feedback, we will investigate and fix this issue as soon as possible.

changdazhou avatar Oct 19 '25 07:10 changdazhou

请先使用 paddleocr3.2 试试,这个问题我们预计周一会修复

zhang-prog avatar Oct 19 '25 07:10 zhang-prog

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
]

cpcdoy avatar Oct 20 '25 11:10 cpcdoy

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.

changdazhou avatar Oct 29 '25 02:10 changdazhou

相同的版本也会这样,使用的版本: 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 测试,就没有发现这个错误了

Miao367147258 avatar Nov 03 '25 02:11 Miao367147258