qq_57881666 2024-06-17 17:32 采纳率: 66.7%
浏览 336

安装DCNv4报错,关于cudn


(mmdet3d) PS D:\mbjc\Dehazing_R-main\Dehazing_R-main\DCNv4_op> python setup.py build install
running build
running build_py
running build_ext
Traceback (most recent call last):
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\Scripts\ninja.exe\__main__.py", line 7, in <module>
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\site-packages\ninja\__init__.py", line 55, in ninja
    raise SystemExit(_program('ninja', sys.argv[1:]))
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\site-packages\ninja\__init__.py", line 51, in _program
    return subprocess.call([os.path.join(BIN_DIR, name)] + args, close_fds=False)
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\subprocess.py", line 1327, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
C:\Users\Administrator\anaconda3\envs\mmdet3d\lib\site-packages\torch\utils\cpp_extension.py:500: UserWarning: Attempted to use ninja as the BuildEx
tension backend but we could not find ninja.. Falling back to using the slow distutils backend.
  warnings.warn(msg.format('we could not find ninja.'))
building 'DCNv4.ext' extension
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc" -c D:\mbjc\Dehazing_R-main\Dehazing_R-main\DCNv4_op\src\cuda\dcnv4_cuda.cu -o bu
ild\temp.win-amd64-cpython-38\Release\mbjc\Dehazing_R-main\Dehazing_R-main\DCNv4_op\src\cuda\dcnv4_cuda.obj -ID:\mbjc\Dehazin
  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-17 17:32
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的错误信息来看,主要存在两个问题:一是找不到ninja编译工具,二是CUDA编译过程中可能遇到的问题。

    解决方案

    步骤 1:安装 Ninja 编译器

    确保你已经安装了 Ninja。如果没有,可以通过 pip 安装:

    pip install ninja
    

    如果在安装后仍然遇到找不到 Ninja 的问题,可能是环境变量没有正确设置。你可以在系统环境变量 PATH 中添加 Ninja 的安装目录,通常是 C:\Program Files\ninja 或者 C:\Users\<YourUsername>\.local\bin(取决于你的安装位置)。

    步骤 2:检查 CUDA 和 cuDNN 版本

    确认你的 CUDA 和 cuDNN 版本与 DCNv4 的要求兼容。通常,DCNv4 需要 CUDA 11.x 版本。你可以在命令行输入以下命令检查 CUDA 版本:

    nvcc --version
    

    对于 cuDNN 的版本,你需要检查安装目录下的 cudnn.h 文件中的定义。

    步骤 3:确保 PyTorch 版本兼容

    检查你的 PyTorch 版本是否与 CUDA 和 cuDNN 版本匹配。你可以通过以下命令查看 PyTorch 是否支持 CUDA:

    import torch
    print(torch.version.cuda)
    

    如果输出为空,表示 PyTorch 当前没有与 CUDA 绑定。确保你安装的是支持 CUDA 的 PyTorch 版本,可以使用以下命令安装:

    pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu11x/torch_stable.html
    

    这里 cu11x 应替换为你的 CUDA 版本,例如 cu118 对应 CUDA 11.8。

    步骤 4:重新构建 DCNv4

    完成上述步骤后,再次尝试构建 DCNv4:

    python setup.py build install
    

    如果还有其他错误,建议查看具体的错误信息并针对性地解决问题。例如,如果涉及到 CUDA 编译错误,可能需要更新你的显卡驱动程序或调整编译选项。

    希望以上步骤能帮助你成功构建 DCNv4。如果还有任何疑问,欢迎进一步提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月17日