# 10分钟快速上手PaddleCV PaddleCV是飞桨视觉统一的推理部署套件,提供了单模型、多模型串联部署流程。本章节我们将详细讲解PaddleCV使用方法 - [安装](#1) - [预测部署](#2) - [部署示例](#2.1) - [参数说明](#2.2) - [配置文件](#2.3) - [二次开发](#3) ## 1. 安装 关于安装配置运行环境,请参考[安装指南](INSTALL.md) ## 2. 预测部署 PaddleCV预测部署依赖推理模型(paddle.jit.save保存的模型),PaddleCV的配置文件中预置了不同任务推荐的推理模型下载链接。如果需要依赖飞桨各开发套件进行二次开发,相应导出文档链接如下表所示 | 开发套件名称 | 导出模型文档链接 | |:-----------:|:------------------:| | PaddleClas | [文档链接](https://github.com/PaddlePaddle/PaddleClas/blob/release/2.5/docs/zh_CN/deployment/export_model.md) | | PaddleDetection | [文档链接](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/deploy/EXPORT_MODEL.md) | | PaddleSeg | [文档链接](https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.6/docs/model_export_cn.md) | | PaddleOCR | [文档链接](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/table_recognition.md#41-%E6%A8%A1%E5%9E%8B%E5%AF%BC%E5%87%BA) | 注意: 1. PaddleOCR分别提供了不同任务的导出模型方法,上表提供链接为文本检测模型导出文档,其他任务可以参考[文档教程](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/README_ch.md#-%E6%96%87%E6%A1%A3%E6%95%99%E7%A8%8B) ### 1)部署示例 得到导出模型后可以使用如下命令进行预测部署: ```bash # 图像分类任务 python -u tools/predict.py --config=configs/single_op/PP-HGNet.yml --input=demo/ILSVRC2012_val_00020010.jpeg # 目标检测任务 python -u tools/predict.py --config=configs/single_op/PP-YOLOE+.yml --input=demo/000000014439.jpg # OCR任务 python -u tools/predict.py --config=configs/system/PP-OCRv3.yml --input=demo/word_1.jpg ``` 使用whl包安装后,也可以在python中使用三行代码快速进行预测部署,示例如下: ```python from paddlecv import PaddleCV paddlecv = PaddleCV(task_name="PP-OCRv3") res = paddlecv("../demo/00056221.jpg") ``` ### 2)参数说明 | 参数名 | 是否必选 | 默认值 | 含义 | |:------:|:---------:|:---------:|:---------:| | config | 是 | None | 配置文件路径 | | input | 是 | None | 输入路径,支持图片文件,图片文件夹和视频文件 | | output_dir | 否 | output | 输出结果保存路径,包含可视化结果和结构化输出 | | run_mode | 否 | paddle | 预测部署模式,可选项为`'paddle'/'trt_fp32'/'trt_fp16'/'trt_int8'/'mkldnn'/'mkldnn_bf16'` | | device | 否 | CPU | 运行设备,可选项为`CPU/GPU/XPU` | ### 3)配置文件 配置文件划分为[单模型配置](../configs/single_op)和[串联系统配置](../configs/system)。配置内容分类环境类配置和模型类配置。环境配置中包含device设置,输出结果保存路径等字段。模型配置中包含各个模型的预处理,模型推理,输出后处理全流程配置项。需要注意使用正确的`param_path`和`model_path`路径。具体配置含义可以参考[配置文件说明文档](config_anno.md) 支持通过命令行修改配置文件内容,示例如下: ``` # 通过-o修改检测后处理阈值 # -o 中的`0`表示MODEL的Op位置,防止模型串联过程中出现同类Op的情况 python -u tools/predict.py --config=configs/single_op/PP-YOLOE+.yml --input=demo/000000014439.jpg -o MODEL.0.DetectionOp.PostProcess.0.ParserDetResults.threshold=0.6 ``` **注意:** 1. 优先级排序:命令行输入 > 配置文件配置 ## 3. 二次开发 PaddleCV中内置了分类、检测、分割等单模型算子,以及OCR,行人分析工具等串联系统算子。如果用户在使用过程中需要自定义算子进行二次开发,可以参考[新增算子文档](how_to_add_new_op.md)和[外部算子开发文档](custom_ops.md)