在CentOS上部署PyTorch可以分为几个步骤,具体如下:
首先需要在你的CentOS服务器上安装Anaconda3。你可以参考Linux下安装Anaconda3的教程进行安装。
创建一个用于PyTorch开发的虚拟环境,以避免依赖冲突。例如,创建名为study_torch
的虚拟环境,并安装Python 3.10:
conda create -n study_torch python=3.10
为了加快下载速度并确保使用最新的PyTorch版本,可以配置conda源。编辑~/.condarc
文件,添加清华大学的镜像源:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forges/
show_channel_urls: true
auto_activate_base: false
根据你的需求选择CPU或GPU版本的PyTorch。以下是以CPU版本为例的安装命令:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
如果你有NVIDIA GPU并希望使用GPU加速,可以参考在Linux服务器上配置PyTorch的教程,根据CUDA版本选择合适的PyTorch版本进行安装。
安装完成后,可以通过以下代码验证PyTorch是否安装成功:
import torch
x = torch.rand(5, 3)
print(x)
如果输出类似于tensor([[0.3089, 0.5494, 0.1153], [0.9371, 0.8981, 0.3798], [0.3220, 0.4789, 0.6379], [0.3280, 0.0454, 0.5896], [0.2760, 0.0586, 0.2910]])
的结果,说明PyTorch安装成功。
如果你有NVIDIA GPU并希望使用GPU加速,确保CUDA和cuDNN已安装,并配置PyTorch使用GPU:
import torch
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 = "deepseek-ai/deepseek-large"
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
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:PyTorch在CentOS上的部署指南