PaddlePaddle/PaddleDetection

最新的develop分支代码出现(No module named 'paddle.base')bug(2024.4.12出现)

Closed this issue · 3 comments

问题确认 Search before asking

  • 我已经查询历史issue,没有发现相似的bug。I have searched the issues and found no similar bug report.

Bug组件 Bug Component

No response

Bug描述 Describe the Bug

最新的develop分支中在setup整个PaddleDetection后执行训练代码单元格时产生如下报错:

/home/aistudio
/home/aistudio/PaddleDetection
Traceback (most recent call last):
  File "tools/infer.py", line 33, in <module>
    from ppdet.core.workspace import load_config, merge_config
  File "/home/aistudio/PaddleDetection/ppdet/__init__.py", line 15, in <module>
    from . import (core, data, engine, modeling, model_zoo, optimizer, metrics,
  File "/home/aistudio/PaddleDetection/ppdet/data/__init__.py", line 16, in <module>
    from . import transform
  File "/home/aistudio/PaddleDetection/ppdet/data/transform/__init__.py", line 15, in <module>
    from . import operators
  File "/home/aistudio/PaddleDetection/ppdet/data/transform/operators.py", line 56, in <module>
    from ppdet.modeling.keypoint_utils import get_affine_transform, affine_transform
  File "/home/aistudio/PaddleDetection/ppdet/modeling/__init__.py", line 23, in <module>
    from . import heads
  File "/home/aistudio/PaddleDetection/ppdet/modeling/heads/__init__.py", line 17, in <module>
    from . import yolo_head
  File "/home/aistudio/PaddleDetection/ppdet/modeling/heads/yolo_head.py", line 26, in <module>
    from ..losses import IouLoss
  File "/home/aistudio/PaddleDetection/ppdet/modeling/losses/__init__.py", line 34, in <module>
    from . import clrnet_loss
  File "/home/aistudio/PaddleDetection/ppdet/modeling/losses/clrnet_loss.py", line 6, in <module>
    from ppdet.modeling.assigners.clrnet_assigner import assign
  File "/home/aistudio/PaddleDetection/ppdet/modeling/assigners/__init__.py", line 18, in <module>
    from . import simota_assigner
  File "/home/aistudio/PaddleDetection/ppdet/modeling/assigners/simota_assigner.py", line 22, in <module>
    from ppdet.modeling.losses.varifocal_loss import varifocal_loss
  File "/home/aistudio/PaddleDetection/ppdet/modeling/losses/varifocal_loss.py", line 27, in <module>
    from paddle.base.framework import in_dygraph_mode
ModuleNotFoundError: No module named 'paddle.base'

但是上周以及往前时间段使用develop分支是正常的,未曾出现如上错误,请问develop分支是否存在错误的源码合并?

以下为出现问题的飞桨星河社区开源项目链接

2024年智能车基线(非官方):https://aistudio.baidu.com/projectdetail/7450053?sUid=2598449&shared=1&ts=1713011998099

该项目的最新发布版本为使用develop分支的PaddleDetection,notebook已有完整的执行代码,可以运行该项目直接复现如上错误

复现环境 Environment

OS:Linux(Codelab)
paddlepaddle:2.3.2
PaddleDetection:develop
AIStudio启用环境版本:32GBVRAM V100环境

Bug描述确认 Bug description confirmation

  • 我确认已经提供了Bug复现步骤、代码改动说明、以及环境信息,确认问题是可以复现的。I confirm that the bug replication steps, code change instructions, and environment information have been provided, and the problem can be reproduced.

是否愿意提交PR? Are you willing to submit a PR?

  • 我愿意提交PR!I'd like to help by submitting a PR!

安装最新的paddlepaddle吧 , 目前ppdet develop是跟着最新的paddle在更新

安装最新的paddlepaddle吧 , 目前ppdet develop是跟着最新的paddle在更新

前几天测试了,确实是版本不兼容问题,而且旧版paddlepaddle框架与新版本的develop分支存在依赖包不匹配的问题

E:\paddle\PaddleDetection>python tools/infer.py -c configs/smalldet/visdrone/ppyoloe_plus_sod_crn_l_80e_visdrone.yml -o weights=ppyoloe_plus_sod_crn_l_80e_visdrone.pdparams --infer_img=414.jpg
Traceback (most recent call last):
  File "E:\paddle\PaddleDetection\tools\infer.py", line 33, in <module>
    from ppdet.core.workspace import load_config, merge_config
  File "E:\paddle\PaddleDetection\ppdet\__init__.py", line 15, in <module>
    from . import (core, data, engine, modeling, model_zoo, optimizer, metrics,
  File "E:\paddle\PaddleDetection\ppdet\data\__init__.py", line 16, in <module>
    from . import transform
  File "E:\paddle\PaddleDetection\ppdet\data\transform\__init__.py", line 15, in <module>
    from . import operators
  File "E:\paddle\PaddleDetection\ppdet\data\transform\operators.py", line 56, in <module>
    from ppdet.modeling.keypoint_utils import get_affine_transform, affine_transform
  File "E:\paddle\PaddleDetection\ppdet\modeling\__init__.py", line 23, in <module>
    from . import heads
  File "E:\paddle\PaddleDetection\ppdet\modeling\heads\__init__.py", line 17, in <module>
    from . import yolo_head
  File "E:\paddle\PaddleDetection\ppdet\modeling\heads\yolo_head.py", line 26, in <module>
    from ..losses import IouLoss
  File "E:\paddle\PaddleDetection\ppdet\modeling\losses\__init__.py", line 34, in <module>
    from . import clrnet_loss
  File "E:\paddle\PaddleDetection\ppdet\modeling\losses\clrnet_loss.py", line 6, in <module>
    from ppdet.modeling.assigners.clrnet_assigner import assign
  File "E:\paddle\PaddleDetection\ppdet\modeling\assigners\__init__.py", line 18, in <module>
    from . import simota_assigner
  File "E:\paddle\PaddleDetection\ppdet\modeling\assigners\simota_assigner.py", line 22, in <module>
    from ppdet.modeling.losses.varifocal_loss import varifocal_loss
  File "E:\paddle\PaddleDetection\ppdet\modeling\losses\varifocal_loss.py", line 27, in <module>
    from paddle.base.framework import in_dygraph_mode
ModuleNotFoundError: No module named 'paddle.base'

我在复现PP-YOLOE-SOD 小目标检测模型(PP-YOLOE Small Object Detection)时,遇到了同样的报错。

复现环境:
OS:windows10(anaconda 3)
paddlepaddle:2.5.1
PaddleDetection:develop

更新到2.6.1就没有问题了。。