携手创造,共同生长!这是我参加「日新计划 8 月更文应战」的第23天,点击检查活动详情

NanoDetPlus Python布置示例

在布置前,需确认以下两个过程

    1. 软硬件环境满足要求,参阅FastDeploy环境要求
    1. FastDeploy Python whl包装置,参阅FastDeploy Python装置

本目录下提供infer.py快速完结NanoDetPlus在CPU/GPU,以及GPU上经过TensorRT加速布置的示例。执行如下脚本即可完结

#下载布置示例代码
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd examples/vison/detection/nanodet_plus/python/
#下载NanoDetPlus模型文件和测试图片
wget https://bj.bcebos.com/paddlehub/fastdeploy/nanodet-plus-m_320.onnx
wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
# CPU推理
python infer.py --model nanodet-plus-m_320.onnx --image 000000014439.jpg --device cpu
# GPU推理
python infer.py --model nanodet-plus-m_320.onnx --image 000000014439.jpg --device gpu
# GPU上运用TensorRT推理
python infer.py --model nanodet-plus-m_320.onnx --image 000000014439.jpg --device gpu --use_trt True

运转完结可视化成果如下图所示

NanoDetPlus Python部署示例

NanoDetPlus Python接口

fastdeploy.vision.detection.NanoDetPlus(model_file, params_file=None, runtime_option=None, model_format=Frontend.ONNX)

NanoDetPlus模型加载和初始化,其间model_file为导出的ONNX模型格局

参数

  • model_file(str): 模型文件途径
  • params_file(str): 参数文件途径,当模型格局为ONNX格局时,此参数无需设定
  • runtime_option(RuntimeOption): 后端推理配置,默以为None,即选用默许配置
  • model_format(Frontend): 模型格局,默以为ONNX

predict函数

NanoDetPlus.predict(image_data, conf_threshold=0.25, nms_iou_threshold=0.5)

模型预测结口,输入图像直接输出检测成果。

参数

  • image_data(np.ndarray): 输入数据,留意需为HWC,BGR格局
  • conf_threshold(float): 检测框相信度过滤阈值
  • nms_iou_threshold(float): NMS处理过程中iou阈值

返回

返回fastdeploy.vision.DetectionResult结构体,结构体说明参阅文档视觉模型预测成果

类成员属性

预处理参数

用户可按照自己的实践需求,修正下列预处理参数,从而影响终究的推理和布置作用

  • size(list[int]): 经过此参数修正预处理过程中resize的巨细,包括两个整型元素,表明[width, height], 默许值为[320, 320]
  • padding_value(list[float]): 经过此参数能够修正图片在resize时分做填充(padding)的值, 包括三个浮点型元素, 别离表明三个通道的值, 默许值为[0, 0, 0]
  • keep_ratio(bool): 经过此参数指定resize时是否保持宽高比例不变,默许是fasle.
  • reg_max(int): GFL回归中的reg_max参数,默许是7.
  • downsample_strides(list[int]): 经过此参数能够修正生成anchor的特征图的下采样倍数, 包括三个整型元素, 别离表明默许的生成anchor的下采样倍数, 默许值为[8, 16, 32, 64]