Ubuntu下torch.cuda.is_available() 返回 False情况


文章目录

    • 问题描述
    • 解决方法
      • [1.检查 xxx2 环境中的 PyTorch 和 CUDA 版本](#1.检查 xxx2 环境中的 PyTorch 和 CUDA 版本)
      • [2.安装支持 CUDA 的 PyTorch 版本](#2.安装支持 CUDA 的 PyTorch 版本)
      • 3.确保环境变量配置正确
      • [4.确保 Python 环境路径正确](#4.确保 Python 环境路径正确)
    • 总结:

问题描述

xxx1 环境中,PyTorch 能够检测到 CUDA,而在 xxx2 环境中检测不到。出现这种情况通常是因为这两个环境中的 PyTorch 或者 CUDA 安装配置不同,导致一个环境可以正确使用 GPU,而另一个环境无法识别 GPU。

具体情况如下

python 复制代码
(xxx1) root@server-4:~$ python
Python 3.11.7 (main, Dec 15 2023, 18:12:31) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.4.0
>>> print(torch.version.cuda)
12.1
>>> print(torch.cuda.is_available())
True
>>> 
python 复制代码
(xxx2) root@server-4:~$ python -c "import torch; print(torch.cuda.is_available())"
False

解决方法

1.检查 xxx2 环境中的 PyTorch 和 CUDA 版本

首先,在 xxx2 环境中,检查当前安装的 PyTorch 版本和是否支持 CUDA:

python 复制代码
python -c "import torch; print(torch.__version__)"
python -c "import torch; print(torch.version.cuda)"
python -c "import torch; print(torch.cuda.is_available())"

如果 torch.version.cuda 返回 None,说明该环境中的 PyTorch 不支持 CUDA。你需要重新安装支持 CUDA 的 PyTorch 版本。

2.安装支持 CUDA 的 PyTorch 版本

如果 xxx2 环境中的 PyTorch 不支持 CUDA,你可以使用 conda 或 pip 重新安装支持 CUDA 的版本。

先卸载当前的 PyTorch:

python 复制代码
conda uninstall pytorch torchvision torchaudio

然后重新安装支持 CUDA 12.1 的 PyTorch:

python 复制代码
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

3.确保环境变量配置正确

你可以在 xxx2 环境中检查 LD_LIBRARY_PATH,确保 CUDA 库路径正确配置:

python 复制代码
echo $LD_LIBRARY_PATH

它应该指向 /usr/local/cuda/lib64,例如:

python 复制代码
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

有些情况下会有多个CUDA版本冲突

比如你的环境中同时有多个 CUDA 库路径 (/usr/local/cuda 和 /home//data/qiqi/cuda12.1/lib64),这可能导致冲突。

你可以尝试移除或调整环境变量:

python 复制代码
export LD_LIBRARY_PATH=/usr/local/cuda/lib64

然后再次检查 PyTorch 是否能够检测到 CUDA:

python 复制代码
python -c "import torch; print(torch.cuda.is_available())"

4.确保 Python 环境路径正确

确保你在 xxx2 环境中使用的 Python 解释器是该环境下的,并且与安装的 PyTorch 和 CUDA 兼容。你可以运行以下命令来确认 Python 路径是否指向当前的 xxx2 环境:

python 复制代码
which python

它应该指向类似 /home/root/anaconda3/envs/xxx2/bin/python 的路径。

总结:

  • 重新安装 xxx2 环境中的 PyTorch,确保它支持 CUDA。
  • 确保 LD_LIBRARY_PATH 设置正确并且指向/usr/local/cuda/lib64。
  • 检查 Python 路径是否正确指向 xxx2 环境。
相关推荐
上天_去_做颗惺星 EVE_BLUE29 分钟前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
Yana.nice1 小时前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月1 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
小白跃升坊2 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey2 小时前
【Linux】线程同步与互斥
linux·笔记
杨江2 小时前
seafile docker安装说明
运维
舰长1152 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀2 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng2 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.2 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居