在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加速深度学习任务。