diff --git a/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/000000570688.jpg b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/000000570688.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cb304bd56c4010c08611a30dcca58ea9140cea54 Binary files /dev/null and b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/000000570688.jpg differ diff --git a/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/README.md b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/README.md new file mode 100644 index 0000000000000000000000000000000000000000..251732c76e1996493eb7d785c721cd478f3b060b --- /dev/null +++ b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/README.md @@ -0,0 +1,21 @@ +# FCOS model on Paddle Serving + +([简体中文](./README_CN.md)|English) + +### Get Model +``` +wget --no-check-certificate https://paddle-serving.bj.bcebos.com/pddet_demo/2.0/fcos_dcn_r50_fpn_1x_coco.tar +``` + +### Start the service +``` +tar xf fcos_dcn_r50_fpn_1x_coco.tar +python -m paddle_serving_server_gpu.serve --model serving_server --port 9494 --gpu_ids 0 +``` +This model support TensorRT, if you want a faster inference, please use `--use_trt`. + +### Perform prediction +``` +python test_client.py 000000570688.jpg +``` + diff --git a/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/README_CN.md b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/README_CN.md new file mode 100644 index 0000000000000000000000000000000000000000..d4a65e072a069efcfe93053b92bdb764f5cbcc32 --- /dev/null +++ b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/README_CN.md @@ -0,0 +1,23 @@ +# 使用Paddle Serving部署FCOS模型 + +(简体中文|[English](./README.md)) + +## 获得模型 +``` +wget --no-check-certificate https://paddle-serving.bj.bcebos.com/pddet_demo/2.0/fcos_dcn_r50_fpn_1x_coco.tar +``` + + +### 启动服务 +``` +tar xf fcos_dcn_r50_fpn_1x_coco.tar +python -m paddle_serving_server_gpu.serve --model serving_server --port 9494 --gpu_ids 0 +``` + +该模型支持TensorRT,如果想要更快的预测速度,可以开启`--use_trt`选项。 + +### 执行预测 +``` +python test_client.py 000000570688.jpg +``` + diff --git a/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/label_list.txt b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/label_list.txt new file mode 100644 index 0000000000000000000000000000000000000000..941cb4e1392266f6a6c09b1fdc5f79503b2e5df6 --- /dev/null +++ b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/label_list.txt @@ -0,0 +1,80 @@ +person +bicycle +car +motorcycle +airplane +bus +train +truck +boat +traffic light +fire hydrant +stop sign +parking meter +bench +bird +cat +dog +horse +sheep +cow +elephant +bear +zebra +giraffe +backpack +umbrella +handbag +tie +suitcase +frisbee +skis +snowboard +sports ball +kite +baseball bat +baseball glove +skateboard +surfboard +tennis racket +bottle +wine glass +cup +fork +knife +spoon +bowl +banana +apple +sandwich +orange +broccoli +carrot +hot dog +pizza +donut +cake +chair +couch +potted plant +bed +dining table +toilet +tv +laptop +mouse +remote +keyboard +cell phone +microwave +oven +toaster +sink +refrigerator +book +clock +vase +scissors +teddy bear +hair drier +toothbrush diff --git a/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/test_client.py b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/test_client.py new file mode 100755 index 0000000000000000000000000000000000000000..bf5504105a61df7912e6c34037287610a1939479 --- /dev/null +++ b/python/examples/detection/fcos_dcn_r50_fpn_1x_coco/test_client.py @@ -0,0 +1,40 @@ +# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from paddle_serving_client import Client +from paddle_serving_app.reader import * +import sys +import numpy as np + +preprocess = Sequential([ + File2Image(), BGR2RGB(), Div(255.0), + Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225], False), + Resize(640, 640), Transpose((2, 0, 1)) +]) + +postprocess = RCNNPostprocess("label_list.txt", "output") +client = Client() + +client.load_client_config("serving_client/serving_client_conf.prototxt") +client.connect(['127.0.0.1:9494']) + +im = preprocess(sys.argv[1]) +fetch_map = client.predict( + feed={ + "image": im, + "scale_factor": np.array([1.0, 1.0]).reshape(-1), + }, + fetch=["save_infer_model/scale_0.tmp_1"], + batch=False) +print(fetch_map)