本文档说明PaddleX/deploy/cpp/demo/model_infer.cpp编译后的使用方法,仅供用户参考进行使用,开发者可基于此demo示例进行二次开发,满足集成的需求。
参考编译文档
开发者可从以下套件获取部署模型,需要注意,部署时需要准备的是导出来的部署模型,一般包含model.pdmodel、model.pdiparams和deploy.yml三个文件,分别表示模型结构、模型权重和各套件自行定义的配置信息。
用户也可直接下载本教程中从PaddleDetection中导出的YOLOv3模型进行测试,点击下载。
以步骤二中下载的YOLOv3模型为例,执行如下命令即可进行模型加载和预测
# 使用GPU 加参数 --use_gpu=1
build/demo/model_infer --model_filename=yolov3_mbv1/model/model.pdmodel \
--params_filename=yolov3_mbv1/model/model.pdiparams \
--cfg_file=yolov3_mbv1/model/infer_cfg.yml \
--image=yolov3_mbv1/images/000000010583.jpg \
--model_type=det
输出结果如下(分别为类别id、标签、置信度、xmin、ymin、w, h)
Box(0 person 0.0386442 2.11425 53.4415 36.2138 197.833)
Box(39 bottle 0.0134608 2.11425 53.4415 36.2138 197.833)
Box(41 cup 0.0255145 2.11425 53.4415 36.2138 197.833)
Box(43 knife 0.0824398 509.703 189.959 100.65 93.9368)
Box(43 knife 0.0211949 448.076 167.649 162.924 143.557)
Box(44 spoon 0.0234474 509.703 189.959 100.65 93.9368)
Box(45 bowl 0.0461333 0 0 223.386 83.5562)
Box(45 bowl 0.0191819 3.91156 1.276 225.888 214.273)
| 参数 | 说明 |
|---|---|
| model_filename | [必填] 模型结构文件路径,如yolov3_darknet/model.pdmodel |
| params_filename | [必填] 模型权重文件路径,如yolov3_darknet/model.pdiparams |
| cfg_file | [必填] 模型配置文件路径,如yolov3_darknet/infer_cfg.yml |
| model_type | [必填] 模型来源,det/seg/clas/paddlex,分别表示模型来源于PaddleDetection、PaddleSeg、PaddleClas和PaddleX |
| image | 待预测的图片文件路径 |
| use_gpu | 是否使用GPU,0或者1,默认为0 |
| gpu_id | 使用GPU预测时的GUI设备ID,默认为0 |