From 29de204b4ea31e3b22ba46995cdb71112ed3039c Mon Sep 17 00:00:00 2001 From: cuicheng01 Date: Fri, 10 Jun 2022 12:42:34 +0000 Subject: [PATCH] update quickstart&model_list --- README_ch.md | 6 +- docs/zh_CN/PULC/PULC_model_list.md | 25 +++++++ docs/zh_CN/PULC/PULC_quickstart.md | 111 +++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 docs/zh_CN/PULC/PULC_model_list.md create mode 100644 docs/zh_CN/PULC/PULC_quickstart.md diff --git a/README_ch.md b/README_ch.md index 350c976d..b62ffd81 100644 --- a/README_ch.md +++ b/README_ch.md @@ -51,16 +51,16 @@ PP-ShiTu图像识别系统效果展示 ## 快速体验 -PULC超轻量图像分类方案快速体验:[点击这里](docs/zh_CN/PULC/PULC_person_exists.md)。 +PULC超轻量图像分类方案快速体验:[点击这里](docs/zh_CN/PULC/PULC_quickstart.md)。 PP-ShiTu图像识别快速体验:[点击这里](./docs/zh_CN/quick_start/quick_start_recognition.md)。 ## 文档教程 - [环境准备](docs/zh_CN/installation/install_paddleclas.md) - PULC超轻量图像分类实用方案 文档更新中 - - 超轻量图像分类模型库 文档更新中 + - [超轻量图像分类模型库](docs/zh_CN/installation/PULC_model_list.md) - [PULC有人/无人分类模型](docs/zh_CN/PULC/PULC_person_exists.md) - - PULC人体属性识别模型 文档更新中 + - [PULC人体属性识别模型](docs/zh_CN/PULC/PULC_person_attribute.md) - [PULC佩戴安全帽分类模型](docs/zh_CN/PULC/PULC_safety_helmet.md) - [PULC交通标志分类模型](docs/zh_CN/PULC/PULC_traffic_sign.md) - [PULC车辆属性识别模型](docs/zh_CN/PULC/PULC_vehicle_attribute.md) diff --git a/docs/zh_CN/PULC/PULC_model_list.md b/docs/zh_CN/PULC/PULC_model_list.md new file mode 100644 index 00000000..ca7181be --- /dev/null +++ b/docs/zh_CN/PULC/PULC_model_list.md @@ -0,0 +1,25 @@ +# PULC 模型库 + +------ + +此处提供了 PULC 模型库的相关指标和模型的下载链接,其中预训练模型可以用来微调训练,推理模型可以直接用来预测和部署。 + + +|模型名称|模型简介|模型精度 |模型大小|推理耗时|下载地址| +| --- | --- | --- | --- | --- | --- | +| person_exists |[PULC有人/无人分类模型](PULC_person_exists.md)| 95.60 |6.5M|2.58ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/person_exists_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/person_exists_pretrained.pdparams)| +| person_attribute |[PULC人体属性识别模型](PULC_person_attribute.md)| 78.59 |6.6M|2.01ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/person_attribute_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/person_attribute_pretrained.pdparams)| +| safety_helmet |[PULC佩戴安全帽分类模型](PULC_safety_helmet.md)| 99.38 |6.5M|2.03ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/safety_helmet_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/safety_helmet_pretrained.pdparams)| +| traffic_sign |[PULC交通标志分类模型](PULC_traffic_sign.md)| 98.35 |8.2M|2.10ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/traffic_sign_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/traffic_sign_pretrained.pdparams)| +| vehicle_attribute |[PULC车辆属性识别模型](PULC_vehicle_attribute.md)| 90.81 |7.2M|2.36ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/vehicle_attribute_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/vehicle_attribute_pretrained.pdparams)| +| vehicle_exists |PULC有车/无车分类模型 | 95.72 | 6.6M | 2.38ms |[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/vehicle_exists_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/vehicle_exists_pretrained.pdparams)| +| text_image_orientation |[PULC含文字图像方向分类模型](PULC_text_image_orientation.md)| 99.06 | 6.5M | 2.16ms |[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/text_image_orientation_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/text_image_orientation_pretrained.pdparams)| +| textline_orientation |[PULC文本行方向分类模型](PULC_textline_orientation.md)| 96.01 |6.5M|2.72ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/textline_orientation_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/textline_orientation_pretrained.pdparams)| +| language_classification |[PULC语种分类模型](PULC_language_classification.md)| 99.26 |6.5M|2.58ms|[推理模型](https://paddleclas.bj.bcebos.com/models/PULC/inference/language_classification_infer.tar) / [预训练模型](https://paddleclas.bj.bcebos.com/models/PULC/pretrained/language_classification_pretrained.pdparams)| + + +**备注:** + +* 以上所有的模型的 backbone 均为 PPLCNet_x1_0,部分模型大小不同是由于分类的输出大小不同导致的,推理耗时是基于Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz 测试得到,其中测试过程开启 MKLDNN 加速策略,线程数为10。速度测试过程会有轻微波动。 + +* person_exists、safety_helmet、vehicle_exists 的评测指标为 TprAtFpr,person_attribute、vehicle_attribute的评测指标为ma、traffic_sign、text_image_orientation、textline_orientation、language_classification的评测指标为Top-1 Acc。 \ No newline at end of file diff --git a/docs/zh_CN/PULC/PULC_quickstart.md b/docs/zh_CN/PULC/PULC_quickstart.md new file mode 100644 index 00000000..c686f36e --- /dev/null +++ b/docs/zh_CN/PULC/PULC_quickstart.md @@ -0,0 +1,111 @@ +# PULC 快速体验 + +------ + +本文主要介绍PaddleClas whl包对 PULC 系列模型的快速使用。 + +## 目录 + +- [1. 安装](#1) + - [1.1 安装PaddlePaddle](#11) + - [1.2 安装PaddleClas whl包](#12) +- [2. 快速体验](#2) + - [2.1 命令行使用](#2.1) + - [2.2 Python脚本使用](#2.2) +- [3.小结](#3) + + + +## 1. 安装 + + + +### 1.1 安装 PaddlePaddle + +- 您的机器安装的是 CUDA9 或 CUDA10,请运行以下命令安装 + + ```bash + python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple + ``` + +- 您的机器是CPU,请运行以下命令安装 + + ```bash + python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple + ``` + +更多的版本需求,请参照[飞桨官网安装文档](https://www.paddlepaddle.org.cn/install/quick)中的说明进行操作。 + + + +### 1.2 安装 PaddleClas whl 包 + +```bash +pip install paddleclas +``` + + + +## 2. 快速体验 + +PaddleClas 提供了一系列测试图片,里边包含人、车、OCR等方向的多个场景大的demo数据。点击[这里](https://paddleclas.bj.bcebos.com/data/PULC/pulc_demo_imgs.zip) 下载并解压,然后在终端中切换到相应目录。 + + + +### 2.1 命令行使用 + +``` +cd /path/to/pulc_demo_imgs +``` + +使用命令行预测: + +```bash +paddleclas --model_name=person_exists --infer_imgs=pulc_demo_imgs/person_exists/objects365_01780782.jpg +``` + +结果如下: +``` +>>> result +class_ids: [0], scores: [0.9955421453341842], label_names: ['nobody'], filename: pulc_demo_imgs/person_exists/objects365_01780782.jpg +Predict complete! +``` + +若预测结果为 `nobody`,表示该图中没有人,若预测结果为 `someone`,则表示该图中有人。此处预测结果为 `nobody`,表示该图中没有人。 + +**备注**: 更换其他预测的数据时,只需要改变 `--infer_imgs=xx` 中的字段即可,支持传入整个文件夹,如需要替换模型,更改 `--model_name` 中的模型名字即可,模型名字可以参考[模型库](./PULC_model_list.md)。 + + + +### 2.2 Python 脚本使用 + +此处提供了在 python 脚本中使用 PULC 有人/无人分类模型预测的例子。 + +```python +import paddleclas +model = paddleclas.PaddleClas(model_name="person_exists") +result = model.predict(input_data="pulc_demo_imgs/person_exists/objects365_01780782.jpg") +print(next(result)) +``` + +打印的结果如下: + +``` +>>> result +[{'class_ids': [0], 'scores': [0.9955421453341842], 'label_names': ['nobody'], 'filename': 'pulc_demo_imgs/person_exists/objects365_01780782.jpg'}] +``` + +**备注**:`model.predict()` 为可迭代对象(`generator`),因此需要使用 `next()` 函数或 `for` 循环对其迭代调用。每次调用将以 `batch_size` 为单位进行一次预测,并返回预测结果, 默认 `batch_size` 为 1,如果需要更改 `batch_size`,实例化模型时,需要指定 `batch_size`,如 `model = paddleclas.PaddleClas(model_name="person_exists", batch_size=2)`。更换其他模型只需要替换`model_name`, `model_name`,可以参考[模型库](./PULC_model_list.md)。 + + + + +## 3. 小结 + +通过本节内容,相信您已经熟练掌握 PaddleClas whl 包的 PULC 模型使用方法并获得了初步效果。 + +PULC 方法产出的系列模型在人、车、OCR等方向的多个场景中均验证有效,用超轻量模型就可实现与 SwinTransformer 模型接近的精度,预测速度提高 40+ 倍。并且打通数据、模型训练、压缩和推理部署全流程,您可以参考[文档教程](./PULC_train.md),正式开启 PULC 的体验之旅。 + + + + -- GitLab