centos

CentOS服务器上PyTorch部署实践

小樊
43
2025-05-07 05:20:15
栏目: 云计算

在CentOS服务器上部署PyTorch可以分为几个步骤。以下是详细的实践指南:

准备工作

  1. 更新系统

    sudo yum update -y
    
  2. 安装Anaconda3: 从Anaconda官网下载适合CentOS系统的Anaconda3安装包,并按照提示完成安装。

  3. 创建虚拟环境(可选但推荐): 使用conda创建一个新的虚拟环境,例如:

    conda create -n pytorch_env python=3.9
    conda activate pytorch_env
    

安装PyTorch

使用conda安装

  1. 安装CUDA和cuDNN: 根据你的CentOS版本和GPU型号,从NVIDIA官方网站下载并安装合适的CUDA Toolkit和相应的cuDNN库。

  2. 安装PyTorch: 在激活的conda环境中,使用以下命令安装PyTorch。根据你的CUDA版本选择合适的命令:

    • CPU版本
      conda install pytorch torchvision torchaudio cpuonly -c pytorch
      
    • CUDA 11.3版本
      conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -c conda-forge
      
    • CUDA 11.6版本
      conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge
      
    • CUDA 11.7版本
      conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch -c conda-forge
      
    • CUDA 12.0版本
      conda install pytorch torchvision torchaudio cudatoolkit=12.0 -c pytorch -c conda-forge
      

使用pip安装

如果你更喜欢使用pip,可以参考PyTorch官方网站PyTorch安装指南并根据你的系统选择合适的命令来安装PyTorch。

验证安装

  1. 打开Python解释器

    python3
    
  2. 验证PyTorch安装: 在Python解释器中运行以下代码:

    import torch
    print(torch.__version__)
    print(torch.cuda.is_available())
    

    如果一切正常,你应该能够看到PyTorch的版本号,并且在使用GPU版本时,torch.cuda.is_available()应该返回True

配置GPU支持(可选)

  1. 确保CUDA和cuDNN已安装: 确保你已经安装了与所选CUDA版本兼容的NVIDIA显卡驱动程序和CUDA工具包。

  2. 配置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加速深度学习任务。

0
看了该问题的人还看了