PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

使用export_model导出SDMGR模型失败

Open TrioTea opened this issue 7 months ago • 10 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

模型的训练、评估和预测均正常运行

(haobin_paddle_ocr_env) (base) [root@localhost PaddleOCR]# python3 tools/export_model.py -c output/kie_60/config.yml -o Architecture.Backbone.checkpoints=output/kie_60/best_accuracy
ERROR:albumentations.check_version:Error fetching version info
Traceback (most recent call last):
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/albumentations/check_version.py", line 32, in fetch_version_info
    data = response.read()
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/http/client.py", line 472, in read
    s = self._safe_read(self.length)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/http/client.py", line 613, in _safe_read
    data = self.fp.read(amt)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/ssl.py", line 1274, in recv_into
    return self.read(nbytes, buffer)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/ssl.py", line 1132, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
W0731 17:03:00.388967 42736 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.4, Runtime API Version: 11.8
W0731 17:03:00.390235 42736 gpu_resources.cc:164] device: 0, cuDNN Version: 8.9.
[2024/07/31 17:03:00] ppocr INFO: train from scratch
Traceback (most recent call last):
  File "tools/export_model.py", line 300, in <module>
    main()
  File "tools/export_model.py", line 294, in main
    export_single_model(
  File "tools/export_model.py", line 197, in export_single_model
    paddle.jit.save(model, save_path)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/base/wrapped_decorator.py", line 26, in __impl__
    return wrapped_func(*args, **kwargs)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/api.py", line 809, in wrapper
    func(layer, path, input_spec, **configs)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/base/wrapped_decorator.py", line 26, in __impl__
    return wrapped_func(*args, **kwargs)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/base/dygraph/base.py", line 68, in __impl__
    return func(*args, **kwargs)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/api.py", line 1104, in save
    static_func.concrete_program_specify_input_spec(
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/dy2static/program_translator.py", line 986, in concrete_program_specify_input_spec
    concrete_program, _ = self.get_concrete_program(
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/dy2static/program_translator.py", line 875, in get_concrete_program
    concrete_program, partial_program_layer = self._program_cache[
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/dy2static/program_translator.py", line 1648, in __getitem__
    self._caches[item_id] = self._build_once(item)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/dy2static/program_translator.py", line 1575, in _build_once
    concrete_program = ConcreteProgram.from_func_spec(
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/base/wrapped_decorator.py", line 26, in __impl__
    return wrapped_func(*args, **kwargs)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/base/dygraph/base.py", line 68, in __impl__
    return func(*args, **kwargs)
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/dy2static/program_translator.py", line 1346, in from_func_spec
    error_data.raise_new_exception()
  File "/root/anaconda3/envs/haobin_paddle_ocr_env/lib/python3.8/site-packages/paddle/jit/dy2static/error.py", line 452, in raise_new_exception
    raise new_exception from None
AttributeError: In transformed code:

    File "/haobin/code_repo/PaddleOCR/ppocr/modeling/architectures/base_model.py", line 84, in forward
        if self.use_backbone:
    File "/haobin/code_repo/PaddleOCR/ppocr/modeling/architectures/base_model.py", line 85, in forward
        x = self.backbone(x)
    File "/haobin/code_repo/PaddleOCR/ppocr/modeling/backbones/kie_unet_sdmgr.py", line 190, in forward
        img, relations, texts, gt_bboxes = self.pre_process(
    File "/haobin/code_repo/PaddleOCR/ppocr/modeling/backbones/kie_unet_sdmgr.py", line 156, in pre_process
        def pre_process(self, img, relations, texts, gt_bboxes, tag, img_size):
            img, relations, texts, gt_bboxes, tag, img_size = (
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
                img.numpy(),
                relations.numpy(),


    AttributeError: 'Variable' object has no attribute 'tolist'

(haobin_paddle_ocr_env) (base) [root@localhost PaddleOCR]# 

Environment

  • 使用的是CentOS 7.9
  • 使用conda构建的python3.8
  • CUDA 12.4 cudnn 8.9
  • paddle及其余依赖版本均使用的最新

Minimal Reproducible Example

No response

Additional

No response

Are you willing to submit a PR?

  • [ ] Yes I'd like to help by submitting a PR!

TrioTea avatar Jul 31 '24 09:07 TrioTea