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 环境。
相关推荐
爱莉希雅&&&2 分钟前
shell脚本之条件判断,循环控制,exit详解
linux·运维·服务器·ssh
wei_work@29 分钟前
【linux】Web服务—搭建nginx+ssl的加密认证web服务器
linux·服务器·ssl
扶尔魔ocy1 小时前
【Linux C/C++开发】轻量级关系型数据库SQLite开发(包含性能测试代码)
linux·数据库·c++·sqlite
Sylvan Ding1 小时前
远程主机状态监控-GPU服务器状态监控-深度学习服务器状态监控
运维·服务器·深度学习·监控·远程·gpu状态
追赶sun2 小时前
Ubuntu 添加系统调用
linux·ubuntu·操作系统·系统调用
北漂老男孩2 小时前
在 Linux 上安装 MATLAB:完整指南与疑难解决方案
linux·运维·matlab
Why not try?!2 小时前
Centos7 中 Docker运行配置Apache
运维·docker·容器
杰克逊的日记2 小时前
Flink运维要点
大数据·运维·flink
hnlucky3 小时前
如何彻底清空docker里面不使用的容器?
运维·docker·容器
像风一样的男人@3 小时前
Linux --systemctl损坏
linux·运维·服务器