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 环境。
相关推荐
拾贰_C13 分钟前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt
桌面运维家17 分钟前
服务器进程异常监控:快速定位与排障实战指南
运维·服务器
念恒1230629 分钟前
进程控制---自定义Shell
linux·c语言
风曦Kisaki1 小时前
# Linux Shell 编程入门 Day02:条件测试、if 判断、循环与随机数
linux·运维·chrome
木雷坞1 小时前
视觉算法环境 Docker 镜像拉取失败排查
运维·人工智能·docker·容器
郝亚军1 小时前
ubuntu 22.04如何安装libmodbus
运维·服务器·ubuntu
李日灐1 小时前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile
JZC_xiaozhong1 小时前
跨系统审批自动化怎么做?从采购到销售合同的完整方案
大数据·运维·自动化·流程自动化·数据集成与应用集成·业务流程管理·异构数据集成
嵌入式×边缘AI:打怪升级日志2 小时前
嵌入式Linux开发:开源组件、第三方库与许可证详解
linux
计算机安禾2 小时前
【Linux从入门到精通】第34篇:搭建FTP与Samba——跨平台文件共享解决方案
linux·运维·服务器