q1085318741 2025-09-27 18:08 采纳率: 0%
浏览 17
已结题

训练BEVFusion(北大&阿里)遇到subprocess.CalledProcessError: Command '...' returned non-zero exit status 1

(bevfusion) dell@dell-Precision-7920-Tower:/media/dell/文档/anaconda3/envs/bevfusion/BEVFusion$ ./tools/dist_train.sh configs/bevfusion/cam_stream/mask_rcnn_dbswin-t_fpn_3x_nuim_cocopre.py 2
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed. 
*****************************************
Traceback (most recent call last):
  File "./tools/train.py", line 12, in <module>
    from mmcv import Config, DictAction
ImportError: cannot import name 'Config' from 'mmcv' (unknown location)
Traceback (most recent call last):
  File "./tools/train.py", line 12, in <module>
    from mmcv import Config, DictAction
ImportError: cannot import name 'Config' from 'mmcv' (unknown location)
Killing subprocess 5310
Killing subprocess 5311
Traceback (most recent call last):
  File "/home/dell/anaconda3/envs/bevfusion/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/dell/anaconda3/envs/bevfusion/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/dell/anaconda3/envs/bevfusion/lib/python3.8/site-packages/torch/distributed/launch.py", line 340, in <module>
    main()
  File "/home/dell/anaconda3/envs/bevfusion/lib/python3.8/site-packages/torch/distributed/launch.py", line 326, in main
    sigkill_handler(signal.SIGTERM, None)  # not coming back
  File "/home/dell/anaconda3/envs/bevfusion/lib/python3.8/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler
    raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd)
subprocess.CalledProcessError: Command '['/home/dell/anaconda3/envs/bevfusion/bin/python', '-u', './tools/train.py', '--local_rank=1', 'configs/bevfusion/cam_stream/mask_rcnn_dbswin-t_fpn_3x_nuim_cocopre.py', '--launcher', 'pytorch']' returned non-zero exit status 1.

请问在搭好BEVFusion环境后,第一步训练就遇到这个问题怎么办

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2025-09-27 18:09
    关注

    晚上好🌙🌙🌙
    本答案参考通义千问

    你遇到的错误是:

    ImportError: cannot import name 'Config' from 'mmcv' (unknown location)
    

    这表明 mmcv 模块中没有 Config 这个类,而你的代码却尝试导入它。这个问题通常是因为你安装的 mmcv 版本过低或版本不正确。


    ✅ 问题原因分析

    1. mmcv 安装不正确

      • 有些情况下,用户可能只安装了 mmcv-lite(轻量版),而没有安装完整的 mmcv
      • 或者安装的是旧版本的 mmcv,不包含 Config 类。
    2. 依赖冲突

      • mmcvmmdetectionmmsegmentation 等库有严格的版本依赖关系。
    3. 环境配置错误

      • 你可能在虚拟环境中使用了错误的 Python 解释器或者路径设置不正确。

    ✅ 解决方案

    1. 卸载当前的 mmcv

    pip uninstall mmcv -y
    

    注意: 如果你使用的是 Anaconda 环境,请确保你在正确的 conda 环境中执行命令。


    2. 安装正确的 mmcv 版本

    BEVFusion 一般需要 mmcv-full,而不是 mmcv-lite。你需要根据你的 PyTorch 版本选择合适的 mmcv 版本。

    ✅ 示例:安装与 PyTorch 1.10 兼容的 mmcv-full

    pip install mmcv-full==1.5.2 -f https://download.openmmlab.com/mmcv/dist/index.html
    

    请根据你实际使用的 PyTorch 版本调整 mmcv-full 的版本号。

    你可以通过以下命令查看 PyTorch 版本:

    python -c "import torch; print(torch.__version__)"
    

    然后访问 MMCV 官方下载页面 查看对应的版本。


    3. 确认 mmcv 安装成功

    运行以下命令检查是否安装成功:

    python -c "from mmcv import Config; print(Config)"
    

    如果输出类似如下内容,说明安装成功:

    <class 'mmcv.utils.config.Config'>
    

    4. 重新运行训练脚本

    完成上述步骤后,再次运行训练命令:

    ./tools/dist_train.sh configs/bevfusion/cam_stream/mask_rcnn_dbswin-t_fpn_3x_nuim_cocopre.py 2
    

    📌 注意事项

    • 确保你使用的是正确的 Python 环境,特别是在使用 Anaconda 时,务必激活对应的环境后再安装包。
    • 不要混用 pip 和 conda 安装包,否则容易导致依赖冲突。
    • 如果你使用的是 GPU,确保 mmcv 是和你的 CUDA 版本兼容的版本。

    🧠 总结

    | 步骤 | 操作 | |------|------| | 1 | 卸载当前 mmcv | | 2 | 根据 PyTorch 版本安装正确的 mmcv-full | | 3 | 验证 mmcv 是否安装成功 | | 4 | 重新运行训练脚本 |


    🔧 可选:如果你不确定 PyTorch 和 mmcv 的版本对应关系

    可以参考 OpenMMLab 的官方文档


    如果你仍然遇到问题,可以提供以下信息,我可以帮你进一步排查:

    • python --version
    • torch.__version__
    • pip list | grep mmcv
    • which python

    欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月30日
  • 修改了问题 9月27日
  • 修改了问题 9月27日
  • 创建了问题 9月27日