Flying_God_Angel 2024-08-07 13:06 采纳率: 0%
浏览 518

服务器配置CUDA和Pytorch遇到torch.cuda.is_available()为false

楼主在尝试配置学校服务器的实验环境,用conda创建虚拟环境后就在安装conda和pytorch。
按照网上的教程用nvidia-smi查看了机器所能接受的cuda版本上限为12.4,因此楼主选择了11.3版本的cuda进行安装。

img

同时也下载了cudnn并按照知乎上的这篇帖子进行了安装。
cuda的版本如下:

img

参考了pytorch官网上适合cuda11.3的版本下载了pytorch1.12.1版本,conda list结果如下:

img

以上安装环节我自认为都没有问题,但是最终在运行代码时遇到了查找不到gpu的问题,我询问了gpt并进行了相关测试,发现torch.cuda.is_available()的结果为false

img

楼主查看了不少帖子都说是因为conda和pytorch的版本不匹配或者安装了cpu版本的pytorch,但是自查后觉得没有上述问题,想问问大家为什么会出现这种情况?

  • 写回答

2条回答 默认 最新

  • 铭渊老黄 新星创作者: Python技术领域 2024-08-07 15:13
    关注
    🕒下午好,题主!目前:🟢[在线]
    📢参考GPT-4o mini 模型、由清水白石008整理提供!
    📣今日金句:人到酬勤!
    

    当你在服务器上配置 CUDA 和 PyTorch 时,如果 torch.cuda.is_available() 返回 False,这通常意味着 PyTorch 无法检测到可用的 GPU。以下是一些常见的原因和解决方法:

    1. 检查 CUDA 是否安装

    确保 CUDA 已正确安装并与 PyTorch 兼容。你可以通过以下命令检查 CUDA 版本:

    nvcc --version
    

    如果没有安装 CUDA,或者版本不正确,请根据你的 GPU 型号和操作系统安装合适的 CUDA 版本。

    2. 检查 NVIDIA 驱动

    确保 NVIDIA 驱动已正确安装并与 CUDA 版本兼容。你可以使用以下命令检查 NVIDIA 驱动版本:

    nvidia-smi
    

    如果驱动未安装或版本不兼容,请安装或更新 NVIDIA 驱动。

    3. 检查 PyTorch 安装

    确保你安装的 PyTorch 版本支持 CUDA。可以通过以下命令检查 PyTorch 版本和 CUDA 支持:

    import torch
    print(torch.__version__)
    print(torch.cuda.is_available())
    

    如果你使用的是 CPU 版本的 PyTorch,torch.cuda.is_available() 将返回 False。确保安装了支持 CUDA 的 PyTorch 版本。可以使用以下命令安装:

    # 安装特定版本的 PyTorch,确保选择与 CUDA 版本匹配的版本
    pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
    

    请根据你的 CUDA 版本选择合适的 PyTorch 版本。

    4. 检查环境变量

    确保环境变量设置正确,特别是 PATHLD_LIBRARY_PATH。你可以在 .bashrc.bash_profile 中添加以下内容:

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

    然后运行以下命令使更改生效:

    source ~/.bashrc
    

    5. 检查 Python 环境

    如果你在虚拟环境中工作,确保在该环境中安装了正确版本的 PyTorch 和 CUDA。可以使用以下命令检查当前环境的包:

    pip list
    

    6. 重启

    在安装或更改驱动和库后,重启服务器可能会解决问题。

    7. 检查 GPU 是否被占用

    如果 GPU 被其他进程占用,可能会导致 PyTorch 无法访问。使用 nvidia-smi 命令查看当前 GPU 使用情况。

    8. 其他问题

    • 确保你的 GPU 支持 CUDA。可以在 NVIDIA 的官方网站上查找支持 CUDA 的 GPU 列表。
    • 检查是否有其他软件(如 Docker)影响了 CUDA 的可用性。

    总结

    如果 torch.cuda.is_available() 返回 False,请检查 CUDA 和 NVIDIA 驱动的安装、PyTorch 的版本、环境变量设置以及 GPU 的使用情况。通过逐步排查这些问题,通常可以找到并解决问题。如果问题仍然存在,请提供更多的错误信息或环境配置,以便进一步帮助你。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月7日