在CentOS服務器上部署PyTorch可以分為幾個步驟。以下是詳細的實踐指南:
更新系統:
sudo yum update -y
安裝Anaconda3: 從Anaconda官網下載適合CentOS系統的Anaconda3安裝包,并按照提示完成安裝。
創建虛擬環境(可選但推薦): 使用conda創建一個新的虛擬環境,例如:
conda create -n pytorch_env python=3.9
conda activate pytorch_env
安裝CUDA和cuDNN: 根據你的CentOS版本和GPU型號,從NVIDIA官方網站下載并安裝合適的CUDA Toolkit和相應的cuDNN庫。
安裝PyTorch: 在激活的conda環境中,使用以下命令安裝PyTorch。根據你的CUDA版本選擇合適的命令:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -c conda-forge
conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge
conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch -c conda-forge
conda install pytorch torchvision torchaudio cudatoolkit=12.0 -c pytorch -c conda-forge
如果你更喜歡使用pip,可以參考PyTorch官方網站PyTorch安裝指南并根據你的系統選擇合適的命令來安裝PyTorch。
打開Python解釋器:
python3
驗證PyTorch安裝: 在Python解釋器中運行以下代碼:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
如果一切正常,你應該能夠看到PyTorch的版本號,并且在使用GPU版本時,torch.cuda.is_available()
應該返回True
。
確保CUDA和cuDNN已安裝: 確保你已經安裝了與所選CUDA版本兼容的NVIDIA顯卡驅動程序和CUDA工具包。
配置PyTorch使用GPU: 在代碼中設置設備:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
你可以使用Flask或FastAPI將模型部署為API服務。以下是一個簡單的FastAPI示例:
from fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
app = FastAPI()
model_name = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
@app.post("/generate")
async def generate(text: str):
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model.generate(**inputs)
return {"response": tokenizer.decode(outputs[0], skip_special_tokens=True)}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
然后使用以下命令啟動服務:
uvicorn app:app --host 0.0.0.0 --port 8000
通過以上步驟,你應該能夠在CentOS服務器上成功部署PyTorch,并開始使用GPU加速深度學習任務。