Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
41e52dd9
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
1 年多 前同步成功
通知
116
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
41e52dd9
编写于
12月 02, 2021
作者:
D
dongshuilong
提交者:
Tingquan Gao
1月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add shitu deploy doc
上级
150d3adf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
66 addition
and
0 deletion
+66
-0
docs/zh_CN/advanced_tutorials/shitu_deploy.md
docs/zh_CN/advanced_tutorials/shitu_deploy.md
+66
-0
未找到文件。
docs/zh_CN/advanced_tutorials/shitu_deploy.md
0 → 100644
浏览文件 @
41e52dd9
# PP-ShiTu迁移应用及调优
在
[
PP-ShiTu快速开始
](
../quick_start/quick_start_recognition.md
)
中,主要展示了
`PP-ShiTu`
的快速开始demo。那么本文档主要介绍,如何将
`PP-ShiTu`
应用到自己的需求中,及如何继续调优,优化识别效果。具体可以分成以下三种情况
-
直接使用官方模型
-
根据需求对模型进行调优
-
模型加速
以下分别对上面三种情况进行具体讲解。
## 1 使用官方模型
对于其他的应用,首先建议使用此种方法,因为PaddleClas官方模型,是经过大量数据训练得到的,具有强大泛化性能的轻量级通用模型。其速度较快、精度较高,在Intel cpu上直接部署,也能快速得到结果。同时,直接使用官方模型,则无需训练新的模型,节约时间,方便快速部署。
使用官方模型具体步骤如下:
-
下载模型及数据准备
-
检索库更新
-
精度测试
### 1.1 下载官方模型及数据准备
模型下载及pipline 运行详见
[
图像识别快速开始
](
../quick_start/quick_start_recognition.md
)
下载模型后,要准备相应的数据,即所迁移应用的具体数据,数据量根据实际情况,自行决定,但是不能太少,会影响精度。将准备的数据分成两部分:1)建库图像,2)测试图像。其中建库数据无需过多,但需保证每个类别包含此类别物体不同角度的图像。请根据实际情况,自行判断。
<a
name=
"1.2 检索库更新"
></a>
### 1.2 建立检索库(gallery)
对于加入检索的数据,每个类别尽量准备此类别的各角度的图像,丰富类别信息。准备的图像只能包含此类别,同时图像背景尽可能的少、简单。如将要加入检索库的数据进行bbox标注,裁剪出bbox图像作为新的要加入的图像,或者使用检测器进行标注及过滤,来提高检索库的图像质量。
收集好图像后,数据整理及建库流程详见
[
图像识别快速开始
](
../quick_start/quick_start_recognition.md
)
中
`3.2 建立新的索引库`
### 1.3 精度测试
使用测试图像,对整个pipline进行简单的精度测试。如发现类别不正确,则需对gallery进行调整,将不正确的测试图像的相似图片加入gallery中,反复迭代。经过调整后,可以测试出整个pipeline的精度。如果精度能够满足需求,则可继续使用。若精度不达预期,则需对模型进行调优,参考下面文档。
## 2 模型调优
在使用官方模型之后,如果发现精度不达预期,则可对模型进行训练调优。同时,根据官方模型的结果,需要进一步大概判断出 检测模型精度、还是识别模型精度问题。不同模型的调优,可参考以下文档。
### 2.1 检测模型调优
`PP-ShiTu`
中检测模型采用的
`PicoDet `
算法,具体算法请参考
[
此文档
](
https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3/configs/picodet
)
。检测模型的训练及调优,请参考
[
此文档
](
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.3/README_cn.md
)
。
### 2.2 识别模型调优
在使用官方模型后,如果不满足精度需求,则可以参考此部分文档,进行模型调优
因为要对模型进行训练,所以收集自己的数据集。数据准备及相应格式请参考:
[
特征提取文档
](
../image_recognition_pipeline/feature_extraction.md
)
中
`4.1数据准备`
部分、
[
识别数据集说明
](
../data_preparation/recognition_dataset.md
)
。值得注意的是,此部分需要准备大量的数据,以保证识别模型效果。训练配置文件参考:
[
通用识别模型配置文件
](
../../../ppcls/configs/GeneralRecognition/GeneralRecognition_PPLCNet_x2_5.yaml
)
,训练方法参考:
[
识别模型训练
](
../models_training/recognition.md
)
-
数据增强:根据实际情况选择不同数据增强方法。如:实际应用中数据遮挡比较严重,建议添加
`RandomErasing`
增强方法。详见
[
数据增强文档
](
./DataAugmentation.md
)
-
换不同的
`backbone`
,一般来说,越大的模型,特征提取能力更强。不同
`backbone`
详见
[
模型介绍
](
../models/models_intro.md
)
-
选择不同的
`Metric Learning`
方法。不同的
`Metric Learning`
方法,对不同的数据集效果可能不太一样,建议尝试其他
`Loss`
,详见
[
Metric Learning
](
../algorithm_introduction/metric_learning.md
)
-
采用蒸馏方法,对小模型进行模型能力提升,详见
[
模型蒸馏
](
../algorithm_introduction/knowledge_distillation.md
)
-
增补数据集。针对错误样本,添加badcase数据
模型训练完成后,参照
[
1.2 检索库更新
](
#1.2
检索库更新)进行检索库更新。同时,对整个pipeline进行测试,如果精度不达预期,则重复此步骤。
## 3 模型加速
模型加速主要以下几种方法:
-
替换小模型:一般来说,越小的模型预测速度相对越快
-
模型裁剪、量化:请参考文档
[
模型压缩
](
./model_prune_quantization.md
)
,压缩配置文件修改请参考
[
slim相关配置文件
](
../../../ppcls/configs/slim/
)
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录