1. 系统准备
首先更新CentOS系统包以确保所有组件为最新版本,避免因版本冲突导致安装失败:
sudo yum update -y
安装必要的开发工具链(包括编译器、make等)和Python基础依赖(Python 3、pip、Python开发头文件):
sudo yum groupinstall -y "Development Tools"
sudo yum install -y python3 python3-pip python3-devel
2. 创建虚拟环境(可选但推荐)
为隔离PyTorch与其他项目的依赖,建议使用虚拟环境。以venv模块为例:
python3 -m venv pytorch_env # 创建名为pytorch_env的虚拟环境
source pytorch_env/bin/activate # 激活虚拟环境(激活后终端提示符会显示环境名)
若使用conda(需提前安装Anaconda/Miniconda),可执行:
conda create -n pytorch_env python=3.8 -y # 创建Python 3.8环境的虚拟环境
conda activate pytorch_env # 激活环境
3. 安装CUDA Toolkit(GPU版本必备)
若需使用GPU加速,需先安装与显卡型号匹配的CUDA Toolkit(以CUDA 11.7为例):
wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo mv cuda-rhel7.repo /etc/yum.repos.d/
sudo yum clean all
sudo yum install -y cuda
~/.bashrc文件,添加以下内容(根据实际安装路径调整):export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
使配置生效:source ~/.bashrc
nvidia-smi,若显示显卡信息和CUDA版本,则说明安装成功。4. 安装cuDNN(GPU版本必备)
cuDNN是NVIDIA提供的深度学习加速库,需配合CUDA使用(以cuDNN 8.4.1为例,需匹配CUDA 11.7):
wget https://developer.download.nvidia.com/compute/machine-learning/repos/rhel7/x86_64/libcudnn8-8.4.1.50-1.cuda11.7.x86_64.rpm
wget https://developer.download.nvidia.com/compute/machine-learning/repos/rhel7/x86_64/libcudnn8-devel-8.4.1.50-1.cuda11.7.x86_64.rpm
sudo yum localinstall -y libcudnn8-*.rpm
/usr/local/cuda/include/cudnn.h文件是否存在,且版本与下载的一致。5. 安装PyTorch
根据是否使用GPU,选择对应的安装命令:
pip3 install torch torchvision torchaudio --upgrade
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
或使用conda安装(需指定cudatoolkit版本):conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch
6. 验证安装
安装完成后,通过Python交互式环境验证PyTorch是否正常工作:
import torch
print("PyTorch版本:", torch.__version__) # 输出版本号,如2.0.1
print("CUDA可用性:", torch.cuda.is_available()) # GPU版本应返回True,CPU版本返回False
若torch.cuda.is_available()返回True,说明GPU加速功能已启用。
7. 常见问题解决
libstdc++.so.6版本过低),可升级gcc或手动复制高版本库文件到/usr/lib64/目录,并创建符号链接。~/.bashrc中的环境变量是否配置正确,运行source ~/.bashrc重新加载;或通过nvcc --version验证CUDA编译器是否可用。include和lib64目录,并赋予可读权限(chmod a+r)。