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 环境。
相关推荐
最数据13 分钟前
Linux或者Docker中时区查询和修改(差8小时问题)
linux·运维·服务器·docker·.net
mahuifa19 分钟前
ubuntu设置程序开机自启动
服务器·ubuntu·开机自启动
皓月盈江24 分钟前
Linux宝塔部署wordpress网站更换服务器IP后无法访问管理后台和打开网站页面显示错乱
linux·服务器·wordpress·无法访问wordpess后台·打开网站页面错乱·linux宝塔面板·wordpress更换服务器
KeyBordkiller39 分钟前
PVE相关名词通俗表述方式———多处细节实验(方便理解)
linux·服务器·网络
scoone1 小时前
解决Ubuntu 22.04系统中网络Ping问题的方法
linux·网络
与君共勉121381 小时前
Jenkins-Ansible 插件相关用法
linux·运维·ansible·jenkins
m0_519523101 小时前
Linux——环境变量
linux·运维·服务器
ShangCode1 小时前
Linux系统三剑客之AWK
linux·运维·awk
@无名用户1 小时前
Linux进程与资源管理
linux·运维·服务器
靡樊1 小时前
Linux:基础开发工具
linux