在Ubuntu上部署PyTorch模型通常涉及以下几个步骤:
安装Python和PyTorch:
sudo apt update
sudo apt install python3 python3-pip
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
其中cu113
表示CUDA 11.3版本。如果你不需要GPU支持,可以去掉--extra-index-url
参数。准备模型:
.pth
文件的形式保存。编写部署脚本:
import torch
from model import MyModel # 假设你的模型定义在model.py文件中
# 加载模型权重
model = MyModel()
model.load_state_dict(torch.load('model.pth'))
model.eval() # 设置模型为评估模式
# 假设你有一个输入数据input_data
input_data = torch.randn(1, 3, 224, 224) # 示例输入数据
# 进行预测
with torch.no_grad():
output = model(input_data)
print(output)
运行脚本:
python3 your_script.py
使用Web框架(可选):
from flask import Flask, request, jsonify
import torch
from model import MyModel
app = Flask(__name__)
# 加载模型权重
model = MyModel()
model.load_state_dict(torch.load('model.pth'))
model.eval()
@app.route('/predict', methods=['POST'])
def predict():
data = request.json['input']
input_tensor = torch.tensor(data).unsqueeze(0) # 假设输入数据是一个列表
with torch.no_grad():
output = model(input_tensor)
return jsonify(output.tolist())
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
python3 your_flask_app.py
http://your_server_ip:5000/predict
来进行预测。使用Docker(可选):
Dockerfile
:FROM python:3.8-slim
# 安装PyTorch
RUN pip install torch torchvision torchaudio
# 复制应用代码
COPY . /app
WORKDIR /app
# 安装其他依赖
RUN pip install flask
# 运行应用
CMD ["python3", "your_flask_app.py"]
docker build -t your_flask_app .
docker run -p 5000:5000 your_flask_app
通过以上步骤,你可以在Ubuntu上成功部署PyTorch模型。根据具体需求,你可以选择直接运行脚本、使用Web框架或使用Docker来部署模型。