Files
FastDeploy/examples/vision/perception/paddle3d/smoke/serving/README_CN.md
T
yeliang2258 a509dd8ec1 [Model] Add Paddle3D smoke model (#1766)
* add smoke model

* add 3d vis

* update code

* update doc

* mv paddle3d from detection to perception

* update result for velocity

* update code for CI

* add set input data for TRT backend

* add serving support for smoke model

* update code

* update code

* update code

---------

Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
2023-04-14 16:30:56 +08:00

4.3 KiB
Executable File

English | 简体中文

Smoke 服务化部署示例

本文档介绍 Paddle3D 中 Smoke 模型的服务化部署。

Smoke 模型导出和预训练模型下载请看Smoke模型部署文档。

在服务化部署前,需确认

启动服务

#下载部署示例代码
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy/examples/vision/perception/paddle3d/smoke/serving

#下载 Smoke 模型文件和测试图片
wget https://bj.bcebos.com/fastdeploy/models/smoke.tar.gz
tar -xf smoke.tar.gz
wget https://bj.bcebos.com/fastdeploy/models/smoke_test.png

# 将配置文件放入预处理目录
mv smoke/infer_cfg.yml models/preprocess/1/

# 将模型放入 models/runtime/1 目录下, 并重命名为 model.pdmodel 和 model.pdiparams
mv smoke/smoke.pdmodel models/runtime/1/model.pdmodel
mv smoke/smoke.pdiparams models/runtime/1/model.pdiparams

# 拉取 fastdeploy 镜像(x.y.z 为镜像版本号,需替换成 fastdeploy 版本数字)
# GPU 镜像
docker pull registry.baidubce.com/paddlepaddle/fastdeploy:x.y.z-gpu-cuda11.4-trt8.4-21.10
# CPU 镜像
docker pull paddlepaddle/fastdeploy:z.y.z-cpu-only-21.10


# 运行容器.容器名字为 fd_serving, 并挂载当前目录为容器的 /serving 目录
nvidia-docker run -it --net=host --name fd_serving --shm-size="1g"  -v `pwd`/:/serving registry.baidubce.com/paddlepaddle/fastdeploy:x.y.z-gpu-cuda11.4-trt8.4-21.10  bash

# 启动服务(不设置 CUDA_VISIBLE_DEVICES 环境变量,会拥有所有 GPU 卡的调度权限)
CUDA_VISIBLE_DEVICES=0 fastdeployserver --model-repository=/serving/models

注意:

拉取镜像请看服务化部署主文档

执行 fastdeployserver 启动服务出现 "Address already in use", 请使用 --grpc-port 指定 grpc 端口号来启动服务,同时更改客户端示例中的请求端口号.

其他启动参数可以使用 fastdeployserver --help 查看

服务启动成功后, 会有以下输出:

......
I0928 04:51:15.784517 206 grpc_server.cc:4117] Started GRPCInferenceService at 0.0.0.0:8001
I0928 04:51:15.785177 206 http_server.cc:2815] Started HTTPService at 0.0.0.0:8000
I0928 04:51:15.826578 206 http_server.cc:167] Started Metrics Service at 0.0.0.0:8002

客户端请求

在物理机器中执行以下命令,发送 grpc 请求并输出结果

#下载测试图片
wget https://bj.bcebos.com/fastdeploy/models/smoke_test.png

#安装客户端依赖
python3 -m pip install tritonclient[all]

# 发送请求
python3 smoke_grpc_client.py

发送请求成功后,会返回 json 格式的检测结果并打印输出:

output_name: PERCEPTION_RESULT
scores:  [0.8080164790153503, 0.03356542810797691, 0.03165825456380844, 0.020817330107092857, 0.018075695261359215, 0.017861749976873398, 0.016441335901618004, 0.01476177480071783, 0.012927377596497536, 0.012407636269927025, 0.012400650419294834, 0.012216777540743351, 0.01208423636853695, 0.011721019633114338, 0.011697308160364628, 0.011695655062794685, 0.011603309772908688, 0.011140472255647182, 0.010927721858024597, 0.01036786288022995, 0.00984608568251133, 0.009827949106693268, 0.009761993773281574, 0.00959752406924963, 0.009595031850039959, 0.009423951618373394, 0.008946355432271957, 0.008635037578642368, 0.008597995154559612, 0.008552121929824352, 0.00839947909116745, 0.008325068280100822, 0.00830004084855318, 0.00826205126941204, 0.008174785412847996, 0.008085251785814762, 0.008026468567550182, 0.00796759407967329, 0.007873599417507648, 0.007816540077328682, 0.007742374204099178, 0.007734378334134817, 0.0077047450467944145, 0.007684454321861267, 0.007525254040956497, 0.007521109655499458, 0.007519087754189968, 0.007399206515401602, 0.0071790567599236965, 0.0068892366252839565]
label_ids:  [2, 0, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

配置修改

当前默认配置在 CPU 上运行 Paddle 引擎, 如果要在 GPU 或其他推理引擎上运行。 需要修改 models/runtime/config.pbtxt 中配置,详情请参考配置文档