MaochengHu 576cda45b8 first commit | 2 years ago | |
---|---|---|
.. | ||
benchmark | 2 years ago | |
cpp | 2 years ago | |
lite | 2 years ago | |
pphuman | 2 years ago | |
pptracking | 2 years ago | |
python | 2 years ago | |
serving | 2 years ago | |
third_engine | 2 years ago | |
BENCHMARK_INFER.md | 2 years ago | |
BENCHMARK_INFER_en.md | 2 years ago | |
EXPORT_MODEL.md | 2 years ago | |
EXPORT_MODEL_en.md | 2 years ago | |
EXPORT_ONNX_MODEL.md | 2 years ago | |
EXPORT_ONNX_MODEL_en.md | 2 years ago | |
README.md | 2 years ago | |
README_en.md | 2 years ago | |
TENSOR_RT.md | 2 years ago |
PaddleDetection提供了Paddle Inference、Paddle Serving、Paddle-Lite多种部署形式,支持服务端、移动端、嵌入式等多种平台,提供了完善的Python和C++部署方案。
|形式|语言|教程|设备/平台| |-|-|-|-| |Paddle Inference|Python|已完善|Linux(ARM\X86)、Windows |Paddle Inference|C++|已完善|Linux(ARM\X86)、Windows| |Paddle Serving|Python|已完善|Linux(ARM\X86)、Windows| |Paddle-Lite|C++|已完善|Android、IOS、FPGA、RK...
使用tools/export_model.py
脚本导出模型以及部署时使用的配置文件,配置文件名字为infer_cfg.yml
。模型导出脚本如下:
# 导出YOLOv3模型
python tools/export_model.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o weights=output/yolov3_mobilenet_v1_roadsign/best_model.pdparams
预测模型会导出到output_inference/yolov3_mobilenet_v1_roadsign
目录下,分别为infer_cfg.yml
, model.pdiparams
, model.pdiparams.info
, model.pdmodel
。
模型导出具体请参考文档PaddleDetection模型导出教程。
CPU
、GPU
和XPU
环境,支持,windows、linux系统,支持NV Jetson嵌入式设备上部署。参考文档python部署CPU
、GPU
和XPU
环境,支持,windows、linux系统,支持NV Jetson嵌入式设备上部署。参考文档C++部署注意: Paddle预测库版本需要>=2.1,batch_size>1仅支持YOLOv3和PP-YOLO。
如果需要导出PaddleServing
格式的模型,需要设置export_serving_model=True
:
python tools/export_model.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o weights=output/yolov3_mobilenet_v1_roadsign/best_model.pdparams --export_serving_model=True
预测模型会导出到output_inference/yolov3_darknet53_270e_coco
目录下,分别为infer_cfg.yml
, model.pdiparams
, model.pdiparams.info
, model.pdmodel
, serving_client/
文件夹, serving_server/
文件夹。
模型导出具体请参考文档PaddleDetection模型导出教程。
Third_Engine | MNN | NCNN | OPENVINO |
---|---|---|---|
PicoDet | PicoDet_MNN | PicoDet_NCNN | PicoDet_OPENVINO |
TinyPose | TinyPose_MNN | - | TinyPose_OPENVINO |
使用导出的模型,运行Benchmark批量测试脚本:
sh deploy/benchmark/benchmark.sh {model_dir} {model_name}
注意 如果是量化模型,请使用deploy/benchmark/benchmark_quant.sh
脚本。
将测试结果log导出至Excel中:
python deploy/benchmark/log_parser_excel.py --log_path=./output_pipeline --output_name=benchmark_excel.xlsx
1、Paddle 1.8.4
训练的模型,可以用Paddle2.0
部署吗?
Paddle 2.0是兼容Paddle 1.8.4的,因此是可以的。但是部分模型(如SOLOv2)使用到了Paddle 2.0中新增OP,这类模型不可以。
2、Windows编译时,预测库是VS2015编译的,选择VS2017或VS2019会有问题吗? 关于VS兼容性问题请参考:C++Visual Studio 2015、2017和2019之间的二进制兼容性
3、cuDNN 8.0.4连续预测会发生内存泄漏吗? 经QA测试,发现cuDNN 8系列连续预测时都有内存泄漏问题,且cuDNN 8性能差于cuDNN 7,推荐使用CUDA + cuDNN7.6.4的方式进行部署。