yangjun dfa27afb39 提交PaddleDetection develop 分支 d56cf3f7c294a7138013dac21f87da4ea6bee829 | 1 éve | |
---|---|---|
.. | ||
README.md | 1 éve | |
config.yml | 1 éve | |
pipeline_http_client.py | 1 éve | |
postprocess_ops.py | 1 éve | |
preprocess_ops.py | 1 éve | |
web_service.py | 1 éve |
Paddle Serving是飞桨开源的服务化部署框架,提供了C++ Serving和Python Pipeline两套框架, C++ Serving框架更倾向于追求极致性能,Python Pipeline框架倾向于二次开发的便捷性。 旨在帮助深度学习开发者和企业提供高性能、灵活易用的工业级在线推理服务,助力人工智能落地应用。
更多关于Paddle Serving的介绍,可以参考Paddle Serving官网repo。
本文档主要介绍利用Python Pipeline框架实现模型(以yolov3_darknet53_270e_coco为例)的服务化部署。
服务化部署的样例程序的目录地址为:deploy/serving/python
deploy/
├── serving/
│ ├── python/ # Python 服务化部署样例程序目录
│ │ ├──config.yml # 服务端模型预测相关配置文件
│ │ ├──pipeline_http_client.py # 客户端代码
│ │ ├──postprocess_ops.py # 用户自定义后处理代码
│ │ ├──preprocess_ops.py # 用户自定义预处理代码
│ │ ├──README.md # 说明文档
│ │ ├──web_service.py # 服务端代码
│ ├── cpp/ # C++ 服务化部署样例程序目录
│ │ ├──preprocess/ # C++ 自定义OP
│ │ ├──build_server.sh # C++ Serving 编译脚本
│ │ ├──serving_client.py # 客户端代码
│ │ └── ...
│ └── ...
└── ...
安装Paddle Serving四个安装包的最新版本, 分别是:paddle-serving-server(CPU/GPU版本二选一), paddle-serving-client, paddle-serving-app和paddlepaddle(CPU/GPU版本二选一)。
pip install paddle-serving-client
# pip install paddle-serving-server # CPU
pip install paddle-serving-server-gpu # GPU 默认 CUDA10.2 + TensorRT6,其他环境需手动指定版本号
pip install paddle-serving-app
# pip install paddlepaddle # CPU
pip install paddlepaddle-gpu
您可能需要使用国内镜像源(例如百度源, 在pip命令中添加-i https://mirror.baidu.com/pypi/simple
)来加速下载。
Paddle Serving Server更多不同运行环境的whl包下载地址,请参考:下载页面
PaddlePaddle更多版本请参考官网
导出步骤参考文档PaddleDetection部署模型导出教程,
导出服务化部署模型需要添加--export_serving_model True
参数,导出示例如下:
python tools/export_model.py -c configs/yolov3/yolov3_darknet53_270e_coco.yml \
--export_serving_model True \
-o weights=https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams
当完成以上环境准备和模型导出后,可以按如下命令启动模型预测服务:
python deploy/serving/python/web_service.py --model_dir output_inference/yolov3_darknet53_270e_coco &
服务端模型预测相关配置可在config.yml中修改, 开发者只需要关注如下配置:http_port(服务的http端口),device_type(计算硬件类型),devices(计算硬件ID)。
当成功启动了模型预测服务,可以按如下命令启动客户端访问服务:
python deploy/serving/python/pipeline_http_client.py --image_file demo/000000014439.jpg