一、系統準備:更新系統并安裝基礎依賴
為避免依賴沖突和兼容性問題,首先將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生效。