torchserve 部署模型 自定义 handler 实践

torch serve介绍

在生产中部署和管理模型通常是机器学习过程中最困难的部分,这项工作包括构建定制的预测 API,对其进行扩展,并加以保护等等。

简化模型部署过程的一种方法是使用模型服务器,即专门设计用于在生产中提供机器学习预测的现成的 Web 应用程序。

模型服务器可轻松加载一个或多个模型,并自动创建由可扩展 Web 服务器提供支持的预测 API。

模型服务器还可以根据预测请求运行代码预处理和后处理。

最后同样重要的一点是,模型服务器还提供对生产至关重要的功能,例如日志记录、监控和安全性等。

广为使用的模型服务器有 TensorFlow Serving 和 Multi Model Server。

torchserve是Pytorch(Facebook)和Amazon于2020年联合推出的PYtorch模型服务库,可使大规模部署经过训练的 PyTorch 更加轻松,不需要编写自定义代码。

官方Github:https://github.com/pytorch/serve

模型输入尺寸耗时(s)
TensorRT+Flask224 * 2240.018
torchserve-gpu224 * 2240.025
torchserve-cpu224 * 2240.19

torchserve 环境,在Linux 的安装

pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torch-model-archiver==0.6.0 nvgpu==0.9.0 captum==0.5.0 torchserve==0.6.0 torchsummary==1.5.1

torchserve 步骤

[1] 先将模型以及推理前后处理打包成mar文件

  • 如果是pt文件保存的是模型参数需要指定模型网络结构文件地址
torch-model-archiver --model-name modnet --version 20220822 --model-file modnet.py --serialized-file modnet.pt --handler image_segmenter --extra-files *** 
torch-model-archiver --model-name modnet --version 20220822 --serialized-file modnet.pt --handler matting.py --extra-files base_handler.py

[2] 将模型mar部署成服务

torchserve --start --model-store model_store --models modnet=modnet.mar --ts-config config.properties
  • 其中config.properties可根据自行需要配置,如下:
max_request_size=655350000
max_response_size=655350000

在这里插入图片描述

[3] 调用模型监控服务

  • 通过curl命令在terminal调用

curl http://127.0.0.1:8081/models

{ “models”: [
    {
    “modelName”: “modnet”,
    “modelUrl”: “modnet.mar”
    } ] }

[4] 调用预测服务

  • 通过curl命令在terminal调用

curl http://127.0.0.1:8080/predictions/modnet -T persons.jpg

  • 通过python调用
import requests
headers = {'Content-Type' : 'image/jpg'}
fp = open('persons.jpg', 'rb')

y = requests.post('http://127.0.0.1:8080/predictions/modnet', data=fp, headers=headers)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值