一、系统准备:更新系统并安装基础依赖
为避免依赖冲突和兼容性问题,首先将CentOS系统更新至最新版本,并安装PyTorch运行所需的底层工具与库。执行以下命令:
sudo yum update -y # 更新系统包 sudo yum groupinstall -y "Development Tools" # 安装开发工具集(含gcc、make等) sudo yum install -y python3 python3-devel pip3 # 安装Python3及相关开发头文件 这些步骤确保系统具备编译和运行PyTorch的基础环境。
二、创建隔离的虚拟环境(关键步骤)
使用虚拟环境可有效隔离PyTorch及其依赖,避免与其他Python项目冲突。推荐使用venv(Python内置模块)或conda(Anaconda发行版):
python3 -m venv pytorch_env # 创建名为pytorch_env的虚拟环境 source pytorch_env/bin/activate # 激活环境(激活后命令行前会显示环境名) conda create -n pytorch_env python=3.8 # 创建指定Python版本的环境 conda activate pytorch_env # 激活环境 虚拟环境能显著提升环境稳定性,是PyTorch部署的最佳实践。
三、安装PyTorch:选择CPU或GPU版本
根据硬件配置选择合适的PyTorch版本,确保性能与兼容性:
pip3 install torch torchvision torchaudio cpuonly pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 若使用conda,可直接指定CUDA版本:conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch 注意:PyTorch版本与CUDA版本需严格匹配(如PyTorch 2.1支持CUDA 11.8),具体版本对应关系可参考PyTorch官方文档。四、GPU支持配置:安装CUDA与cuDNN
若需GPU加速,必须安装NVIDIA CUDA Toolkit和cuDNN库,步骤如下:
sudo rpm -i cuda-repo-rhel7-11.7.0-515.43.04-1.x86_64.rpm 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 tar -xzvf cudnn-11.7-linux-x64-v8.6.0.163.tgz sudo cp cuda/include/cudnn*.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* 完成后,PyTorch即可调用GPU进行加速计算。五、验证安装:确认PyTorch运行状态
安装完成后,通过Python交互式环境验证PyTorch是否正常工作:
import torch print("PyTorch版本:", torch.__version__) # 输出PyTorch版本号 print("CUDA可用性:", torch.cuda.is_available()) # 若为True,说明GPU加速可用 print("GPU设备数量:", torch.cuda.device_count()) # 输出GPU数量(若有多个GPU) 若输出显示版本号且torch.cuda.is_available()返回True,则说明PyTorch已成功安装并配置完成。
六、常见问题排查(保障稳定性)
yum的--setopt=obsoletes=0选项忽略过时包,或通过conda创建纯净环境;pip3 install torch torchvision torchaudio --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ pip3 install --no-cache-dir torch torchvision ~/.bashrc中的环境变量是否正确配置,并执行source ~/.bashrc生效。