Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
a7dfd85f
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
大约 1 年 前同步成功
通知
115
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看板
提交
a7dfd85f
编写于
11月 26, 2021
作者:
S
sibo2rr
提交者:
gaotingquan
12月 09, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove extra space
上级
9e81c451
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
20 addition
and
20 deletion
+20
-20
docs/zh_CN/algorithm_introduction/DataAugmentation.md
docs/zh_CN/algorithm_introduction/DataAugmentation.md
+1
-1
docs/zh_CN/algorithm_introduction/knowledge_distillation.md
docs/zh_CN/algorithm_introduction/knowledge_distillation.md
+2
-2
docs/zh_CN/algorithm_introduction/metric_learning.md
docs/zh_CN/algorithm_introduction/metric_learning.md
+2
-2
docs/zh_CN/data_preparation/recognition_dataset.md
docs/zh_CN/data_preparation/recognition_dataset.md
+1
-1
docs/zh_CN/image_recognition_pipeline/feature_extraction.md
docs/zh_CN/image_recognition_pipeline/feature_extraction.md
+5
-5
docs/zh_CN/image_recognition_pipeline/mainbody_detection.md
docs/zh_CN/image_recognition_pipeline/mainbody_detection.md
+1
-1
docs/zh_CN/inference_deployment/cpp_deploy_on_windows.md
docs/zh_CN/inference_deployment/cpp_deploy_on_windows.md
+3
-3
docs/zh_CN/inference_deployment/paddle_lite_deploy.md
docs/zh_CN/inference_deployment/paddle_lite_deploy.md
+1
-1
docs/zh_CN/inference_deployment/paddle_serving_deploy.md
docs/zh_CN/inference_deployment/paddle_serving_deploy.md
+1
-1
docs/zh_CN/models_training/recognition.md
docs/zh_CN/models_training/recognition.md
+2
-2
docs/zh_CN/quick_start/quick_start_classification_professional.md
...CN/quick_start/quick_start_classification_professional.md
+1
-1
未找到文件。
docs/zh_CN/algorithm_introduction/DataAugmentation.md
浏览文件 @
a7dfd85f
...
...
@@ -231,7 +231,7 @@ Mixup 是最先提出的图像混叠增广方案,其原理简单、方便实
开源代码 github 地址:
[
https://github.com/clovaai/CutMix-PyTorch
](
https://github.com/clovaai/CutMix-PyTorch
)
与
`Mixup`
直接对两幅图进行相加不一样,
`Cutmix`
是从一幅图中随机裁剪出一个
`ROI`
,然后覆盖当前图像中对应的区域,代码实现如下所示:
与
`Mixup`
直接对两幅图进行相加不一样,
`Cutmix`
是从一幅图中随机裁剪出一个
`ROI`
,然后覆盖当前图像中对应的区域,代码实现如下所示:
经过 Cutmix 数据增强后结果如下图所示。
...
...
docs/zh_CN/algorithm_introduction/knowledge_distillation.md
浏览文件 @
a7dfd85f
...
...
@@ -10,7 +10,7 @@
*
[
3.3 Relation based distillation
](
#3.3
)
*
[
4. 参考文献
](
#4
)
<a
name=
'1'
></a>
##
1. 模型压缩和知识蒸馏方法简介
## 1. 模型压缩和知识蒸馏方法简介
近年来,深度神经网络在计算机视觉、自然语言处理等领域被验证是一种极其有效的解决问题的方法。通过构建合适的神经网络,加以训练,最终网络模型的性能指标基本上都会超过传统算法。
...
...
@@ -25,7 +25,7 @@
*
Relation based distillation:对于不同的样本,使用教师模型和学生模型同时计算样本之间 feature map 的相关性,使得学生模型和教师模型得到的相关性矩阵尽可能一致。
<a
name=
'2'
></a>
##
2. 知识蒸馏应用
## 2. 知识蒸馏应用
知识蒸馏算法在模型轻量化过程任务中应用广泛,对于需要满足特定的精度的任务,通过使用知识蒸馏的方法,我们可以使用更小的模型便能达到要求的精度,从而减小了模型部署的成本。
...
...
docs/zh_CN/algorithm_introduction/metric_learning.md
浏览文件 @
a7dfd85f
...
...
@@ -16,8 +16,8 @@
![
example
](
../../images/ml_illustration.jpg
)
<a
name=
'2'
></a>
##
2. 应用
Metric Learning 技术在生活实际中应用广泛,如我们耳熟能详的人脸识别(Face Recognition)、行人重识别(Person ReID)、图像检索(Image Retrieval)、细粒度分类(Fine-gained classification)等
.
随着深度学习在工业实践中越来越广泛的应用,目前大家研究的方向基本都偏向于 Deep Metric Learning(DML).
## 2. 应用
Metric Learning 技术在生活实际中应用广泛,如我们耳熟能详的人脸识别(Face Recognition)、行人重识别(Person ReID)、图像检索(Image Retrieval)、细粒度分类(Fine-gained classification)等
。
随着深度学习在工业实践中越来越广泛的应用,目前大家研究的方向基本都偏向于 Deep Metric Learning(DML).
一般来说, DML 包含三个部分: 特征提取网络来 map embedding, 一个采样策略来将一个 mini-batch 里的样本组合成很多个 sub-set, 最后 loss function 在每个 sub-set 上计算 loss. 如下图所示:
!
[
image
](
../../images/ml_pipeline.jpg
)
...
...
docs/zh_CN/data_preparation/recognition_dataset.md
浏览文件 @
a7dfd85f
...
...
@@ -106,7 +106,7 @@ Cars 数据集包含了 196 类汽车的 16185 张图像。数据被分成 8144
地址:https://www.kaggle.com/c/products-10k/data?select=train.csv
+
DeepFashion-Inshop:
同通用图像识别数据集中的 In-shop Clothes
+
DeepFashion-Inshop: 同通用图像识别数据集中的 In-shop Clothes
<a
name=
"2.2.3"
></a>
### 2.2.3 Logo 识别
...
...
docs/zh_CN/image_recognition_pipeline/feature_extraction.md
浏览文件 @
a7dfd85f
...
...
@@ -26,10 +26,10 @@
![](
../../images/feature_extraction_framework.png
)
图中各个模块的功能为:
-
**Backbone**
:
指定所使用的骨干网络。 值得注意的是,PaddleClas 提供的基于 ImageNet 的预训练模型,最后一层的输出为 1000,我们需要依据所需的特征维度定制最后一层的输出。
-
**Neck**
:
用以特征增强及特征维度变换。
这儿的 Neck,可以是一个简单的 Linear Layer,用来做特征维度变换;也可以是较复杂的 FPN 结构,用以做特征增强。
-
**Head**
:
用来将 feature 转化为 logits。
除了常用的 Fc Layer 外,还可以替换为 cosmargin, arcmargin, circlemargin 等模块。
-
**Loss**
:
指定所使用的 Loss 函数。
我们将 Loss 设计为组合 loss 的形式,可以方便得将 Classification Loss 和 Pair_wise Loss 组合在一起。
-
**Backbone**
: 指定所使用的骨干网络。 值得注意的是,PaddleClas 提供的基于 ImageNet 的预训练模型,最后一层的输出为 1000,我们需要依据所需的特征维度定制最后一层的输出。
-
**Neck**
:
用以特征增强及特征维度变换。
这儿的 Neck,可以是一个简单的 Linear Layer,用来做特征维度变换;也可以是较复杂的 FPN 结构,用以做特征增强。
-
**Head**
:
用来将 feature 转化为 logits。
除了常用的 Fc Layer 外,还可以替换为 cosmargin, arcmargin, circlemargin 等模块。
-
**Loss**
:
指定所使用的 Loss 函数。
我们将 Loss 设计为组合 loss 的形式,可以方便得将 Classification Loss 和 Pair_wise Loss 组合在一起。
<a
name=
"3"
></a>
...
...
@@ -161,7 +161,7 @@ python tools/export_model \
-o Global.pretrained_model="output/RecModel/best_model"
```
生成的推理模型位于
`inference`
目录,里面包含三个文件,分别为
`inference.pdmodel`
、
`inference.pdiparams`
、
`inference.pdiparams.info`
。
其中:
`inference.pdmodel`
用来存储推理模型的结构,
`inference.pdiparams`
和
`inference.pdiparams.info`
用来存储推理模型相关的参数信息。
其中:
`inference.pdmodel`
用来存储推理模型的结构,
`inference.pdiparams`
和
`inference.pdiparams.info`
用来存储推理模型相关的参数信息。
<a
name=
"4.4.2"
></a>
...
...
docs/zh_CN/image_recognition_pipeline/mainbody_detection.md
浏览文件 @
a7dfd85f
...
...
@@ -225,7 +225,7 @@ python tools/export_model.py -c configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml
预测模型会导出到
`inference/ppyolov2_r50vd_dcn_365e_coco`
目录下,分别为
`infer_cfg.yml`
(预测不需要),
`model.pdiparams`
,
`model.pdiparams.info`
,
`model.pdmodel`
。
注意:
`PaddleDetection`
导出的 inference 模型的文件格式为
`model.xxx`
,这里如果希望与 PaddleClas
的 inference 模型文件格式保持一致,需要将其
`model.xxx`
文件修改为
`inference.xxx`
文件,用于后续主体检测的预测部署。
注意:
`PaddleDetection`
导出的 inference 模型的文件格式为
`model.xxx`
,这里如果希望与 PaddleClas 的 inference 模型文件格式保持一致,需要将其
`model.xxx`
文件修改为
`inference.xxx`
文件,用于后续主体检测的预测部署。
更多模型导出教程,请参考:
[
EXPORT_MODEL
](
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.1/deploy/EXPORT_MODEL.md
)
...
...
docs/zh_CN/inference_deployment/cpp_deploy_on_windows.md
浏览文件 @
a7dfd85f
...
...
@@ -14,7 +14,7 @@ PaddleClas 在 Windows 平台下基于 `Visual Studio 2019 Community` 进行了
*
[
3.3 注意事项
](
#3.3
)
<a
name=
'1'
></a>
##
1. 前置条件
## 1. 前置条件
*
Visual Studio 2019
*
CUDA 9.0 / CUDA 10.0,cudnn 7.6+(仅在使用 GPU 版本的预测库时需要)
*
CMake 3.0+
...
...
@@ -29,7 +29,7 @@ PaddleClas 在 Windows 平台下基于 `Visual Studio 2019 Community` 进行了
<a
name=
"1.1"
></a>
### 1.1 下载 PaddlePaddle C++ 预测库 paddle_inference_install_dir
PaddlePaddle C++ 预测库针对不同的
`CPU `
和
`CUDA`
版本提供了不同的预编译版本,请根据实际情况下载:
[
C++预测库下载列表
](
https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html#windows
)
,建议选择
`2.1.1`
版本。
PaddlePaddle C++ 预测库针对不同的
`CPU `
和
`CUDA`
版本提供了不同的预编译版本,请根据实际情况下载:
[
C++预测库下载列表
](
https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html#windows
)
,建议选择
`2.1.1`
版本。
**注意**
:在选择预测库时,所选预测库版本需要与后续编译选项一致:
*
CPU 预测库仅可用于 GPU 预测,具体又分为
`mkl`
和
`openblas`
,分别对应其低层实现基于
`MKL`
数学运算库 和
`OpenBLAS`
数学运算库;
...
...
@@ -159,7 +159,7 @@ cd D:\projects\PaddleClas\deploy\cpp\out\build\x64-Release
注意,需要在配置文件中正确设置预测参数,包括所用模型文件的路径(
`cls_model_path`
和
`cls_params_path`
)。
<a
name=
'3.3'
></a>
### 3.3
注意事项
### 3.3 注意事项
*
在 Windows 下的终端中执行文件 exe 时,可能会发生乱码的现象,此时需要在终端中输入
`CHCP 65001`
,将终端的编码方式由 GBK 编码(默认)改为 UTF-8 编码,更加具体的解释可以参考这篇博客:
[
https://blog.csdn.net/qq_35038153/article/details/78430359
](
https://blog.csdn.net/qq_35038153/article/details/78430359
)
;
*
如果需要使用 CPU 预测,PaddlePaddle 在 Windows 上仅支持 avx 的 CPU 预测,目前不支持 noavx 的 CPU 预测;
*
在使用生成的
`clas_system.exe`
进行预测时,如提示
`由于找不到 paddle_fluid.dll,无法继续执行代码。重新安装程序可能会解决此问题`
,请检查是否将 Paddle 预测库路径添加到系统环境变量,详见
[
1.1 下载 PaddlePaddle C++ 预测库 paddle_inference_install_dir
](
#1.1
)
。
docs/zh_CN/inference_deployment/paddle_lite_deploy.md
浏览文件 @
a7dfd85f
...
...
@@ -235,7 +235,7 @@ demo/cxx/clas/
#### 注意:
*
上述文件中,
`imagenet1k_label_list.txt`
是 ImageNet1k 数据集的类别映射文件,如果使用自定义的类别,需要更换该类别映射文件。
*
`config.txt`
包含了分类器的超参数,如下:
*
`config.txt`
包含了分类器的超参数,如下:
```
shell
clas_model_file ./MobileNetV3_large_x1_0.nb
# 模型文件地址
...
...
docs/zh_CN/inference_deployment/paddle_serving_deploy.md
浏览文件 @
a7dfd85f
...
...
@@ -194,7 +194,7 @@ wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_da
```
<a
name=
"4.2"
></a>
## 4.2 服务部署和请求
**注意:**
识别服务涉及到多个模型,出于性能考虑采用 PipeLine 部署方式。Pipeline 部署方式当前不支持 windows 平台。
**注意:**
识别服务涉及到多个模型,出于性能考虑采用 PipeLine 部署方式。Pipeline 部署方式当前不支持 windows 平台。
-
进入到工作目录
```
shell
cd
./deploy/paddleserving/recognition
...
...
docs/zh_CN/models_training/recognition.md
浏览文件 @
a7dfd85f
...
...
@@ -300,9 +300,9 @@ PaddleClas 图像检索部分目前支持的环境如下:
pip
install
faiss
-
cpu
==
1.7
.
1
post2
```
若使用时,不能正常引用,则
`uninstall`
之后,重新
`install`
,尤其是
`windows`
下。
若使用时,不能正常引用,则
`uninstall`
之后,重新
`install`
,尤其是
`windows`
下。
<a
name=
"4"
></a>
<a
name=
"4"
></a>
## 4. 基础知识
...
...
docs/zh_CN/quick_start/quick_start_classification_professional.md
浏览文件 @
a7dfd85f
...
...
@@ -52,7 +52,7 @@ cd ../
<a
name=
"2"
></a>
## 2.
模型训练
## 2. 模型训练
<a
name=
"2.1"
></a>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录