PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

PPLCNetNew找不到對應模型

Open cjwang0318 opened this issue 1 year ago • 19 comments

  • 系统环境/System Environment:Ubuntu
  • 版本号/Version:Paddle v2.5: PaddleOCR: 问题相关组件/Related components: ppocr/modeling/necks/db_fpn.py
  • 运行指令/Command Code:python tools/train.py -c ./ch_PP-OCRv4_det_cml.yml

使用ch_PP-OCRv4_det訓連模型進行fintune時,將 ch_PP-OCRv4_det_cml.yml 中的 Backbone name: PPLCNetNew 找不到對應模型,如果改成PPLCNetNewV3則會報錯 for i in range(len(in_channels)):TypeError: object of type 'int' has no len() 可以麻煩請教一下原因嗎?謝謝。

  • 完整报错/Complete Error Message:

  • Traceback (most recent call last): File "/home/cjwang/cjwang/PaddleOCR-release-2.7/tools/train.py", line 227, in main(config, device, logger, vdl_writer) File "/home/cjwang/cjwang/PaddleOCR-release-2.7/tools/train.py", line 135, in main model = build_model(config['Architecture']) File "/home/cjwang/cjwang/PaddleOCR-release-2.7/ppocr/modeling/architectures/init.py", line 34, in build_model arch = getattr(mod, name)(config) File "/home/cjwang/cjwang/PaddleOCR-release-2.7/ppocr/modeling/architectures/distillation_model.py", line 47, in init model = BaseModel(model_config) File "/home/cjwang/cjwang/PaddleOCR-release-2.7/ppocr/modeling/architectures/base_model.py", line 67, in init self.neck = build_neck(config['Neck']) File "/home/cjwang/cjwang/PaddleOCR-release-2.7/ppocr/modeling/necks/init.py", line 42, in build_neck module_class = eval(module_name)(**config) File "/home/cjwang/cjwang/PaddleOCR-release-2.7/ppocr/modeling/necks/db_fpn.py", line 240, in init for i in range(len(in_channels)): TypeError: object of type 'int' has no len()

cjwang0318 avatar Aug 21 '23 04:08 cjwang0318

I meet the same problem.

SWHL avatar Aug 26 '23 01:08 SWHL

不是“PPLCNetNewV3”而是“PPLCNetV3”

gl94 avatar Sep 04 '23 05:09 gl94

不是“PPLCNetNewV3”而是“PPLCNetV3”

PPLCNetV3 我改成了这个,但是也是一样的报错。

Taichipeace avatar Oct 09 '23 08:10 Taichipeace

把PPLCNetNew改成PPLCNetV3,在添加一行det: true image

kadimakipp avatar Oct 13 '23 03:10 kadimakipp

添加det: true后, 训练会遇到另外报错

Traceback (most recent call last):
  File "/mnt/home/sp/projects/PaddleOCR/tools/train.py", line 228, in <module>
    main(config, device, logger, vdl_writer)
  File "/mnt/home/sp/projects/PaddleOCR/tools/train.py", line 199, in main
    program.train(config, train_dataloader, valid_dataloader, device, model,
  File "/mnt/home/sp/projects/PaddleOCR/tools/program.py", line 334, in train
    post_result = post_process_class(preds, batch[1])
  File "/mnt/home/sp/projects/PaddleOCR/ppocr/postprocess/db_postprocess.py", line 275, in __call__
    results[k] = self.post_process(predicts[k], shape_list=shape_list)
  File "/mnt/home/sp/projects/PaddleOCR/ppocr/postprocess/db_postprocess.py", line 229, in __call__
    src_h, src_w, ratio_h, ratio_w = shape_list[batch_index]
ValueError: too many values to unpack (expected 4)
I1013 19:03:27.982057 679392 tcp_store.cc:273] receive shutdown event and so quit from MasterDaemon run loop

调试进入 ppocr/postprocess/db_postprocess.py文件中229lines

        for batch_index in range(pred.shape[0]):
            src_h, src_w, ratio_h, ratio_w = shape_list[batch_index]
            if self.dilation_kernel is not None:
                mask = cv2.dilate(
                    np.array(segmentation[batch_index]).astype(np.uint8),
                    self.dilation_kernel)

发现shappe_list是一个 batch_size * 640(height) *640(width) 的数组, 显然下标访问后取值无法返回src_h, src_w, ratio_h, ratio_w

enemy1205 avatar Oct 13 '23 11:10 enemy1205

https://github.com/PaddlePaddle/PaddleOCR/issues/5710

kadimakipp avatar Oct 16 '23 05:10 kadimakipp

Traceback (most recent call last): File "tools/train.py", line 227, in main(config, device, logger, vdl_writer) File "tools/train.py", line 135, in main model = build_model(config['Architecture']) File "D:\PaddleOCR\PaddleOCR-release-2.7\ppocr\modeling\architectures_init_.py", line 34, in build_model arch = getattr(mod, name)(config) File "D:\PaddleOCR\PaddleOCR-release-2.7\ppocr\modeling\architectures\distillation_model.py", line 47, in init model = BaseModel(model_config) File "D:\PaddleOCR\PaddleOCR-release-2.7\ppocr\modeling\architectures\base_model.py", line 67, in init self.neck = build_neck(config['Neck']) File "D:\PaddleOCR\PaddleOCR-release-2.7\ppocr\modeling\necks_init_.py", line 42, in build_neck module_class = eval(module_name)(**config) File "D:\PaddleOCR\PaddleOCR-release-2.7\ppocr\modeling\necks\db_fpn.py", line 240, in init for i in range(len(in_channels)): TypeError: object of type 'int' has no len()

ITccyhub avatar Nov 07 '23 03:11 ITccyhub

image an'zh按照这个改了还是报错

ITccyhub avatar Nov 07 '23 03:11 ITccyhub

加上 det: true 直接 image

ITccyhub avatar Nov 07 '23 03:11 ITccyhub

把PPLCNetNew改成PPLCNetV3,在添加一行det: true image

这个是正解

sylarwcy avatar Nov 15 '23 01:11 sylarwcy

1115 image

只有设定了det: true,才能走输出序列这个条件分支。后面RSEFPN解析in_channels时,按序列来解,才不会报错。

sylarwcy avatar Nov 15 '23 01:11 sylarwcy

添加det: true后, 训练会遇到另外报错

Traceback (most recent call last):
  File "/mnt/home/sp/projects/PaddleOCR/tools/train.py", line 228, in <module>
    main(config, device, logger, vdl_writer)
  File "/mnt/home/sp/projects/PaddleOCR/tools/train.py", line 199, in main
    program.train(config, train_dataloader, valid_dataloader, device, model,
  File "/mnt/home/sp/projects/PaddleOCR/tools/program.py", line 334, in train
    post_result = post_process_class(preds, batch[1])
  File "/mnt/home/sp/projects/PaddleOCR/ppocr/postprocess/db_postprocess.py", line 275, in __call__
    results[k] = self.post_process(predicts[k], shape_list=shape_list)
  File "/mnt/home/sp/projects/PaddleOCR/ppocr/postprocess/db_postprocess.py", line 229, in __call__
    src_h, src_w, ratio_h, ratio_w = shape_list[batch_index]
ValueError: too many values to unpack (expected 4)
I1013 19:03:27.982057 679392 tcp_store.cc:273] receive shutdown event and so quit from MasterDaemon run loop

调试进入 ppocr/postprocess/db_postprocess.py文件中229lines

        for batch_index in range(pred.shape[0]):
            src_h, src_w, ratio_h, ratio_w = shape_list[batch_index]
            if self.dilation_kernel is not None:
                mask = cv2.dilate(
                    np.array(segmentation[batch_index]).astype(np.uint8),
                    self.dilation_kernel)

发现shappe_list是一个 batch_size * 640(height) *640(width) 的数组, 显然下标访问后取值无法返回src_h, src_w, ratio_h, ratio_w

我也遇到了跟你一样的问题,请问你解决了吗?

KongXCai avatar Dec 11 '23 02:12 KongXCai

@KongXCai just set: cal_metric_during_train: false

Sundragon1993 avatar Jan 05 '24 08:01 Sundragon1993

把PPLCNetNew改成PPLCNetV3,在添加一行det: true image

这个student1和student2都要做修改么,我两个都修改了以后,有非常多层的参数无法加载不到模型中

Double97828 avatar Feb 29 '24 09:02 Double97828

把PPLCNetNew改成PPLCNetV3,在添加一行det: true image

这个student1和student2都要做修改么,我两个都修改了以后,有非常多层的参数无法加载不到模型中

解决了么?我也是PPLCNetNew改成PPLCNetV3之后,student1和student2都加了 det: true,也试过单独加 student1,结果还是报错 1712718092497

koala-cat avatar Apr 10 '24 03:04 koala-cat

配置加上还是报错,大佬解决了吗? 预训练模型:ch_PP-OCRv4_det_train

image

nikooooooooooooooooooo avatar May 10 '24 06:05 nikooooooooooooooooooo

@564142183 你可以试一下 set: cal_metric_during_train: false

mattheliu avatar May 10 '24 08:05 mattheliu

@mattheliu 感谢大佬回复,把cal_metric_during_train改成false后训练还是报错

[2024-05-11 09:12:21,664] [ WARNING] dataloader_iter.py:707 - DataLoader 1 workers exit unexpectedly, pids: 5673
Traceback (most recent call last):
  File "/PaddleOCR/tools/train.py", line 255, in <module>
    main(config, device, logger, vdl_writer, seed)
  File "/PaddleOCR/tools/train.py", line 208, in main
    program.train(
  File "/PaddleOCR/tools/program.py", line 304, in train
    for idx, batch in enumerate(train_dataloader):
  File "/usr/local/lib/python3.10/dist-packages/paddle/io/dataloader/dataloader_iter.py", line 826, in __next__
    self._reader.read_next_list()[0]
SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception.
  [Hint: Expected killed_ != true, but received killed_:1 == true:1.] (at ../paddle/fluid/operators/reader/blocking_queue.h:171)

nikooooooooooooooooooo avatar May 11 '24 09:05 nikooooooooooooooooooo

问题已解决,就是训练完的效果不太理想,附项目地址:https://aistudio.baidu.com/projectdetail/7900653?sUid=3018256&shared=1&ts=1716019542135

nikooooooooooooooooooo avatar May 18 '24 08:05 nikooooooooooooooooooo