重要提示: 在 Linux 上安装 PyTorch 时,不需要 单独安装系统级的 CUDA Toolkit(如 sudo apt install nvidia-cuda-toolkit)。PyTorch 的安装包(pip/conda)会自带它所需的 CUDA 运行时库。你只需要确保安装的 PyTorch 版本与你当前的驱动版本兼容即可。
以下是针对你当前环境(Ubuntu + NVIDIA Driver 550)的最佳安装方案:
推荐方案:使用 pip 安装(最通用)
NVIDIA 550 驱动支持最新的 CUDA 12.x 版本。建议直接安装 CUDA 12.1 或 CUDA 11.8 版本的 PyTorch。
创建虚拟环境(强烈推荐)
为了避免污染系统 Python 环境,请先创建一个隔离环境:
bash
# 创建名为 pytorch_env 的环境
python3 -m venv pytorch_env
# 激活环境
source pytorch_env/bin/activate
执行安装命令
访问 PyTorch 官网获取最新命令,或直接使用以下经过验证的命令(适用于 CUDA 12.1,兼容性最好):
bash
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
如果你需要更稳定的旧版 CUDA 11.8 支持:
bash
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
###*q
如果你习惯使用 Anaconda/Miniconda,Conda 会自动处理底层的 CUDA 依赖,通常比 pip 更省心:
bash
# 创建环境并指定 python 版本
conda create -n pytorch_env python=3.10
conda activate pytorch_env
# 安装 PyTorch (CUDA 12.1 版本)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
验证安装是否成功
安装完成后,务必在 Python 中运行以下代码来确认 GPU 是否可用:
python
import torch
# 1. 检查 PyTorch 版本
print(f"PyTorch Version: {torch.__version__}")
# 2. 检查 CUDA 是否可用
print(f"CUDA Available: {torch.cuda.is_available()}")
# 3. 查看显卡信息
if torch.cuda.is_available():
print(f"GPU Name: {torch.cuda.get_device_name(0)}")
print(f"CUDA Version (compiled with): {torch.version.cuda}")
else:
print("错误:无法检测到 GPU,请检查驱动或重新安装 PyTorch")
常见问题排查
-
下载速度慢 :如果从官方源下载太慢,可以使用清华镜像源(仅适用于 pip):
bashpip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://download.pytorch.org/whl/cu121 -
报错 "No matching distribution":这通常是因为你的 Python 版本过高(如 3.13)或过低。建议使用 Python 3.8 - 3.11 版本。
-
torch.cuda.is_available()返回 False :虽然nvidia-smi正常,但 PyTorch 仍可能找不到驱动。这通常是因为安装了 CPU 版本的 PyTorch(即没有带+cu121后缀)。请卸载后重新按上述命令安装。
ype "help", "copyright", "credits" or "license" for more information.
import torch
Traceback (most recent call last):
File "", line 1, in
File "/root/miniconda3/envs/pytorch_env/lib/python3.12/site-packages/torch/init .py", line 367, in
from torch._C import * # noqa: F403
^^^^^^^^^^^^^^^^^^^^^^
ImportError: /root/miniconda3/envs/pytorch_env/lib/python3.12/site-packages/torch/lib/libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent
这个错误是因为 Conda 自动将 MKL(Intel 数学核心库)升级到了 2024.1 或更高版本,而新版移除了 PyTorch 依赖的符号。
别担心,这个问题有明确的解决办法。你可以按照以下方案来修复:
方案一:降级 MKL 版本(最快捷)
既然问题出在 MKL 版本过高,我们只需将其降级到兼容的版本即可。请在命令行中执行以下命令:
conda install mkl=2024.0
注:如果提示找不到该特定版本,可以退而求其次使用 conda install mkl=2023.1.0,同样能解决此问题。
