在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來部署模型。