ubuntu

PyTorch在Ubuntu上的模型部署

小樊
43
2025-07-20 00:44:06
栏目: 智能运维

在Ubuntu系统上部署PyTorch模型可以通过多种方式实现,以下是一个基本的步骤指南:

环境准备

  1. 安装Python和pip
sudo apt update
sudo apt install python3 python3-pip
  1. 安装PyTorch
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
pip install torch torchvision torchaudio
  1. 验证安装
import torch
print(torch.__version__)
print(torch.cuda.is_available())

模型准备

  1. 保存训练好的模型
# 假设模型已经训练完成
torch.save(model.state_dict(), 'model.pth')

部署步骤

  1. 使用Flask创建一个简单的Web服务
pip install flask
from flask import Flask, request, jsonify
import torch
import torchvision.transforms as transforms
from PIL import Image

app = Flask(__name__)

# 加载模型
model = torch.load('model.pth', map_location=torch.device('cpu'))
model.eval()

# 定义图像预处理
transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

@app.route('/predict', methods=['POST'])
def predict():
    file = request.files['image']
    image = Image.open(file.stream)
    image = transform(image).unsqueeze(0)  # 添加batch维度
    with torch.no_grad():
        output = model(image)
    _, predicted_idx = torch.max(output, 1)
    return jsonify({'prediction': int(predicted_idx.item())})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
  1. 运行Flask应用
python app.py
  1. 测试模型
curl -X POST -F "image=@path_to_your_image.jpg" http://localhost:5000/predict
  1. 部署到生产环境
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app

通过以上步骤,你可以在Ubuntu系统下成功部署PyTorch模型。根据你的具体需求,可以选择使用TorchServe、Flask或Django等进行部署。

0
看了该问题的人还看了