使用Paddle Inference进行高性能的Python预测部署。更多关于Paddle Inference信息请参考Paddle Inference文档
图像分类、目标检测、实例分割、语义分割统一的预测器,实现高性能预测。
paddlex.deploy.Predictor(model_dir, use_gpu=False, gpu_id=0, cpu_thread_num=1, use_mkl=True, mkl_thread_num=4, use_trt=False, use_glog=False, memory_optimize=True, max_trt_batch_size=1, trt_precision_mode='float32')
参数
- model_dir (str): 模型路径(必须是导出的部署或量化模型)
- use_gpu (bool): 是否使用gpu,默认False
- gpu_id (int): 使用gpu的id,默认0
- cpu_thread_num (int):使用cpu进行预测时的线程数,默认为1
- use_mkl (bool): 是否使用mkldnn计算库,CPU情况下使用,默认False
- mkl_thread_num (int): mkldnn计算线程数,默认为4
- use_trt (bool): 是否使用TensorRT,默认False
- use_glog (bool): 是否启用glog日志, 默认False
- memory_optimize (bool): 是否启动内存优化,默认True
- max_trt_batch_size (int): 在使用TensorRT时配置的最大batch size,默认1
- trt_precision_mode (str):在使用TensorRT时采用的精度,可选值['float32', 'float16']。默认'float32'
图片预测
predict(img_file, topk=1, transforms=None, warmup_iters=0, repeats=1)
参数
- img_file (List[np.ndarray or str], str or np.ndarray): 图像路径;或者是解码后的排列格式为(H, W, C)且类型为float32且为BGR格式的数组。
- topk (int): 分类预测时使用,表示预测前topk的结果。默认值为1。
- transforms (paddlex.transforms): 数据预处理操作。默认值为None, 即使用
model.yml中保存的数据预处理操作。- warmup_iters (int): 预热轮数,用于评估模型推理以及前后处理速度。若大于1,会预先重复预测warmup_iters,而后才开始正式的预测及其速度评估。默认为0。
- repeats (int): 重复次数,用于评估模型推理以及前后处理速度。若大于1,会预测repeats次取时间平均值。默认值为1。
返回值
- 图像分类模型的返回值与图像分类模型API中predict接口的返回值一致
- 目标检测 模型的返回值与目标检测模型API中predict接口的返回值一致
- 实例分割 模型的返回值与实例分割模型API中predict接口的返回值一致
- 语义分割 模型的返回值与语义分割模型API中predict接口的返回值一致