Cannot initialize CUDA without ATen_cuda library.

运行double-dip的代码出错
Cannot initialize CUDA without ATen_cuda library.

这个错误表示没有找到ATen_cuda库,导致无法初始化CUDA。ATen_cuda是PyTorch中管理CUDA的内部库。
要解决这个错误,有以下几种方法:

  1. 安装CUDA工具包。ATen_cuda库依赖于CUDA,没有安装CUDA会导致该错误。安装CUDA后重新安装PyTorch。
  2. 重新安装PyTorch。有时PyTorch安装不完全会导致这个问题,重新安装PyTorch可以解决。使用以下命令:
    pip uninstall torch
    pip install torch==1.8.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
    Note: 这里安装的版本及CUDA版本需要与你的环境匹配。
  3. 设置环境变量。有时没有正确设置CUDA相关环境变量也会导致此问题。执行以下命令:
    Linux/Mac:
    export CUDA_HOME=/usr/local/cuda-11.1
    export PATH=$CUDA_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
    Windows:
    set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
    set PATH=%CUDA_HOME%\bin;%PATH%
    set LD_LIBRARY_PATH=%CUDA_HOME%\lib\x64;%LD_LIBRARY_PATH%
    然后重新启动终端和Python环境。
  4. 编译ATen_cuda库。如果上述方法均未解决,有可能需要重新编译ATen_cuda库。具体步骤在PyTorch开发环境中执行:
    git clone --recursive https://github.com/pytorch/pytorch
    cd pytorch
    python setup.py install
    这会在环境中重新构建ATen_cuda库,如果CUDA环境正确,会修复这个错误。
    除上述方法外,也可能是其他环境问题导致,如CUDA/CuDNN版本匹配问题等。需要根据具体报错信息进行检查和修复。
    希望这些建议能帮助您解决此问题。如有任何其他问题,欢迎您持续提出,我会尽力为您解答。
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    针对该问题,可能的解决方案如下:

    1. 确认CUDA和ATen_cuda的版本是否一致,如果版本不一致需要升级或降级其中一个组件。

    2. 确认CUDA是否正确配置在系统环境变量中,如果没有配置需要手动添加,可以在.bashrc或.zshrc文件中添加以下代码:

    export PATH=$PATH:/usr/local/cuda/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    

    其中"/usr/local/cuda"是CUDA的安装路径,需要根据实际情况进行修改。

    1. 如果以上两步都已经确认正确,也可以尝试重新安装CUDA和ATen_cuda,确保安装过程中没有出现任何问题。

    2. 如果还是不能解决问题,可以尝试查看系统日志或者CUDA的错误日志,以便进一步排查问题。

    具体的操作步骤和代码示例可以结合参考资料中的内容进行操作。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^