diff --git a/docs/zh_CN/FAQ/faq_2021_s2.md b/docs/zh_CN/FAQ/faq_2021_s2.md index 9a50e46e4e..d00ab7f796 100644 --- a/docs/zh_CN/FAQ/faq_2021_s2.md +++ b/docs/zh_CN/FAQ/faq_2021_s2.md @@ -182,7 +182,7 @@ PaddlePaddle is installed successfully! Let's start deep learning with PaddlePad **A**:如果使用的是 release/2.2 分支,建议更新为 release/2.3 分支,在 release/2.3 分支中,我们使用 faiss 检索模块替换了 Möbius 检索模型,具体可以参考[向量检索教程](../../../deploy/vector_search/README.md)。如仍存在问题,可以在用户微信群中联系我们,也可以在 GitHub 提 issue。 #### Q2.4.2: 识别模型怎么在预训练模型的基础上进行微调训练? -**A**:识别模型的微调训练和分类模型的微调训练类似,识别模型可以加载商品的预训练模型,训练过程可以参考[识别模型训练](../../zh_CN/models_training/recognition.md),后续我们也会持续细化这块的文档。 +**A**:识别模型的微调训练和分类模型的微调训练类似,识别模型可以加载商品的预训练模型,训练过程可以参考[识别模型训练](../training/metric_learning/training.md),后续我们也会持续细化这块的文档。 #### Q2.4.3: 训练 metric learning 时,每个 epoch 中,无法跑完所有 mini-batch,为什么? **A**:在训练 metric learning 时,使用的 Sampler 是 DistributedRandomIdentitySampler,该 Sampler 不会采样全部的图片,导致会让每一个 epoch 采样的数据不是所有的数据,所以无法跑完显示的 mini-batch 是正常现象。该问题在 release/2.3 分支已经优化,请更新到 release/2.3 使用。 diff --git a/docs/zh_CN/deployment/PP-ShiTu/cpp.md b/docs/zh_CN/deployment/PP-ShiTu/cpp.md index 84886a0560..3f45f5036f 100644 --- a/docs/zh_CN/deployment/PP-ShiTu/cpp.md +++ b/docs/zh_CN/deployment/PP-ShiTu/cpp.md @@ -361,6 +361,6 @@ cd .. ## 4. 使用自己模型 -使用自己训练的模型,可以参考[模型导出](../../docs/zh_CN/inference_deployment/export_model.md),导出`inference model`,用于模型预测。 +使用自己训练的模型,可以参考[模型导出](../export_model.md),导出`inference model`,用于模型预测。 同时注意修改`yaml`文件中具体参数。 diff --git a/docs/zh_CN/deployment/PP-ShiTu/paddle_serving.md b/docs/zh_CN/deployment/PP-ShiTu/paddle_serving.md index 76a4b1d1be..c9a6cec472 100644 --- a/docs/zh_CN/deployment/PP-ShiTu/paddle_serving.md +++ b/docs/zh_CN/deployment/PP-ShiTu/paddle_serving.md @@ -225,7 +225,7 @@ python3.7 -m pip install paddle-serving-server-gpu==0.7.0.post112 # GPU with CUD # 一键编译安装Serving server、设置 SERVING_BIN source ./build_server.sh python3.7 ``` - **注:** [build_server.sh](../build_server.sh#L55-L62) 所设定的路径可能需要根据实际机器上的环境如CUDA、python版本等作一定修改,然后再编译;如果执行 `build_server.sh` 过程中遇到非网络原因的报错,则可以手动将脚本中的命令逐条复制到终端执行。 + **注:** [build_server.sh](../../../../deploy/paddleserving/build_server.sh#L55-L62) 所设定的路径可能需要根据实际机器上的环境如CUDA、python版本等作一定修改,然后再编译;如果执行 `build_server.sh` 过程中遇到非网络原因的报错,则可以手动将脚本中的命令逐条复制到终端执行。 - C++ Serving使用的输入输出格式与Python不同,因此需要执行以下命令,将4个文件复制到下的文件覆盖掉[3.1](#31-模型转换)得到文件夹中的对应4个prototxt文件。 ```shell diff --git a/docs/zh_CN/deployment/PP-ShiTu/python.md b/docs/zh_CN/deployment/PP-ShiTu/python.md index 8245ab2867..647843bfe9 100644 --- a/docs/zh_CN/deployment/PP-ShiTu/python.md +++ b/docs/zh_CN/deployment/PP-ShiTu/python.md @@ -1,6 +1,6 @@ # Python 预测推理 -首先请参考文档[环境准备](../installation/install_paddleclas.md)配置运行环境。 +首先请参考文档[环境准备](../../installation.md)配置运行环境。 ## 目录 @@ -79,4 +79,4 @@ python3.7 python/predict_rec.py -c configs/inference_rec.yaml ### 1.3 PP-ShiTu PipeLine推理 -主体检测、特征提取和向量检索的串联预测,可以参考[图像识别快速开始](../quick_start/quick_start_recognition.md)。 +主体检测、特征提取和向量检索的串联预测,可以参考[图像识别快速开始](../../quick_start/quick_start_recognition.md)。 diff --git a/docs/zh_CN/deployment/PP-ShiTu/shitu_deploy.md b/docs/zh_CN/deployment/PP-ShiTu/shitu_deploy.md index e43a14f5d8..0042d3828b 100644 --- a/docs/zh_CN/deployment/PP-ShiTu/shitu_deploy.md +++ b/docs/zh_CN/deployment/PP-ShiTu/shitu_deploy.md @@ -77,7 +77,7 @@ 在使用官方模型后,如果不满足精度需求,则可以参考此部分文档,进行模型调优 -因为要对模型进行训练,所以收集自己的数据集。数据准备及相应格式请参考:[特征提取文档](../../training/PP-ShiTu/feature_extraction.md)中 `4.1数据准备`部分、[识别数据集说明](../../training/metric_learning/dataset.md)。值得注意的是,此部分需要准备大量的数据,以保证识别模型效果。训练配置文件参考:[通用识别模型配置文件](../../../../ppcls/configs/GeneralRecognition/GeneralRecognition_PPLCNet_x2_5.yaml),训练方法参考:[识别模型训练](../../models_training/recognition.md) +因为要对模型进行训练,所以收集自己的数据集。数据准备及相应格式请参考:[特征提取文档](../../training/PP-ShiTu/feature_extraction.md)中 `4.1数据准备`部分、[识别数据集说明](../../training/metric_learning/dataset.md)。值得注意的是,此部分需要准备大量的数据,以保证识别模型效果。训练配置文件参考:[通用识别模型配置文件](../../../../ppcls/configs/GeneralRecognition/GeneralRecognition_PPLCNet_x2_5.yaml),训练方法参考:[识别模型训练](../../training/metric_learning/training.md) - 数据增强:根据实际情况选择不同数据增强方法。如:实际应用中数据遮挡比较严重,建议添加`RandomErasing`增强方法。详见[数据增强文档](../../training/config_discription/data_augmentation.md) - 换不同的`backbone`,一般来说,越大的模型,特征提取能力更强。不同`backbone`详见[模型介绍](../../models/ImageNet1k/model_list.md) @@ -94,4 +94,4 @@ 模型加速主要以下几种方法: - 替换小模型:一般来说,越小的模型预测速度相对越快 -- 模型裁剪、量化:请参考文档[模型压缩](../../training/advanced/prune_quantization.md),压缩配置文件修改请参考[slim相关配置文件](../../../ppcls/configs/slim/)。 +- 模型裁剪、量化:请参考文档[模型压缩](../../training/advanced/prune_quantization.md),压缩配置文件修改请参考[slim相关配置文件](../../../../ppcls/configs/slim/)。 diff --git a/docs/zh_CN/deployment/export_model.md b/docs/zh_CN/deployment/export_model.md index 3e8789bf7a..a643bc6dd0 100644 --- a/docs/zh_CN/deployment/export_model.md +++ b/docs/zh_CN/deployment/export_model.md @@ -91,9 +91,16 @@ python3 tools/export_model.py \ 导出的 inference 模型文件可用于预测引擎进行推理部署,根据不同的部署方式/平台,可参考: -* [Python 预测](./inference/python_deploy.md) -* [C++ 预测](./inference/cpp_deploy.md)(目前仅支持分类模型) -* [Python Whl 预测](./inference/whl_deploy.md)(目前仅支持分类模型) -* [PaddleHub Serving 部署](./deployment/paddle_hub_serving_deploy.md)(目前仅支持分类模型) -* [PaddleServing 部署](./deployment/paddle_serving_deploy.md) -* [PaddleLite 部署](./deployment/paddle_lite_deploy.md)(目前仅支持分类模型) +图像分类模型部署: +* [Python 预测](./image_classification/python.md) +* [C++ 预测](./image_classification/cpp/linux.md) +* [Python Whl 预测](./image_classification/whl.md)(目前仅支持分类模型) +* [PaddleHub Serving 部署](./image_classification/paddle_hub.md)(目前仅支持分类模型) +* [PaddleServing 部署](./image_classification/paddle_serving.md) +* [PaddleLite 部署](./image_classification/paddle_lite.md) + +PP-ShiTu 部署: +* [Python 预测](./PP-ShiTu/python.md) +* [C++ 预测](./PP-ShiTu/cpp.md) +* [PaddleServing 部署](./PP-ShiTu/paddle_serving.md) +* [PaddleLite 部署](./PP-ShiTu/paddle_lite.md) diff --git a/docs/zh_CN/deployment/image_classification/paddle_lite.md b/docs/zh_CN/deployment/image_classification/paddle_lite.md index bdfa89a2d8..3038f16baa 100644 --- a/docs/zh_CN/deployment/image_classification/paddle_lite.md +++ b/docs/zh_CN/deployment/image_classification/paddle_lite.md @@ -2,7 +2,7 @@ 本教程将介绍基于[Paddle Lite](https://github.com/PaddlePaddle/Paddle-Lite) 在移动端部署PaddleClas分类模型的详细步骤。 -Paddle Lite是飞桨轻量化推理引擎,为手机、IOT端提供高效推理能力,并广泛整合跨平台硬件,为端侧部署及应用落地问题提供轻量化的部署方案。如果希望直接测试速度,可以参考[Paddle-Lite移动端benchmark测试教程](../../docs/zh_CN/extension/paddle_mobile_inference.md)。 +Paddle Lite是飞桨轻量化推理引擎,为手机、IOT端提供高效推理能力,并广泛整合跨平台硬件,为端侧部署及应用落地问题提供轻量化的部署方案。如果希望直接测试速度,可以参考[Paddle-Lite移动端benchmark测试教程](../../models/ImageNet1k/paddle_lite_benchmark.md)。 --- diff --git a/docs/zh_CN/deployment/image_classification/python.md b/docs/zh_CN/deployment/image_classification/python.md index 6f7eac0095..cfa6a97c83 100644 --- a/docs/zh_CN/deployment/image_classification/python.md +++ b/docs/zh_CN/deployment/image_classification/python.md @@ -1,6 +1,6 @@ # Python 预测推理 -首先请参考文档[环境准备](../installation/install_paddleclas.md)配置运行环境。 +首先请参考文档[环境准备](../../installation.md)配置运行环境。 ## 目录 @@ -10,7 +10,7 @@ ## 1. 图像分类推理 -首先请参考文档[模型导出](./export_model.md)准备 inference 模型,然后进入 PaddleClas 的 `deploy` 目录下: +首先请参考文档[模型导出](../export_model.md)准备 inference 模型,然后进入 PaddleClas 的 `deploy` 目录下: ```shell cd PaddleClas/deploy diff --git a/docs/zh_CN/models/ImageNet1k/PP-HGNet.md b/docs/zh_CN/models/ImageNet1k/PP-HGNet.md index c3eb86b9b6..2282b0093f 100644 --- a/docs/zh_CN/models/ImageNet1k/PP-HGNet.md +++ b/docs/zh_CN/models/ImageNet1k/PP-HGNet.md @@ -387,7 +387,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/ImageNet1k/PP-LCNet.md b/docs/zh_CN/models/ImageNet1k/PP-LCNet.md index 3e630e3148..83fa00ae65 100644 --- a/docs/zh_CN/models/ImageNet1k/PP-LCNet.md +++ b/docs/zh_CN/models/ImageNet1k/PP-LCNet.md @@ -530,7 +530,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/ImageNet1k/PP-LCNetV2.md b/docs/zh_CN/models/ImageNet1k/PP-LCNetV2.md index 3ea0d721d8..75c27cef94 100644 --- a/docs/zh_CN/models/ImageNet1k/PP-LCNetV2.md +++ b/docs/zh_CN/models/ImageNet1k/PP-LCNetV2.md @@ -409,7 +409,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/ImageNet1k/ResNet.md b/docs/zh_CN/models/ImageNet1k/ResNet.md index e78d673546..e559bdd6b8 100644 --- a/docs/zh_CN/models/ImageNet1k/ResNet.md +++ b/docs/zh_CN/models/ImageNet1k/ResNet.md @@ -421,7 +421,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/ImageNet1k/SwinTransformer.md b/docs/zh_CN/models/ImageNet1k/SwinTransformer.md index 9aede21fdc..c64184a6d7 100644 --- a/docs/zh_CN/models/ImageNet1k/SwinTransformer.md +++ b/docs/zh_CN/models/ImageNet1k/SwinTransformer.md @@ -70,14 +70,14 @@ Swin Transformer 是一种新的视觉 Transformer 网络,可以用作计算 ## 2. 模型快速体验 -安装 paddlepaddle 和 paddleclas 即可快速对图片进行预测,体验方法可以参考[ResNet50 模型快速体验](ResNet.md-模型快速体验)。 +安装 paddlepaddle 和 paddleclas 即可快速对图片进行预测,体验方法可以参考[ResNet50 模型快速体验](./ResNet.md#2)。 ## 3. 模型训练、评估和预测 -此部分内容包括训练环境配置、ImageNet数据的准备、SwinTransformer 在 ImageNet 上的训练、评估、预测等内容。在 `ppcls/configs/ImageNet/SwinTransformer/` 中提供了 SwinTransformer 的训练配置,可以通过如下脚本启动训练:此部分内容可以参考[ResNet50 模型训练、评估和预测](ResNet.md-模型训练评估和预测)。 +此部分内容包括训练环境配置、ImageNet数据的准备、SwinTransformer 在 ImageNet 上的训练、评估、预测等内容。在 `ppcls/configs/ImageNet/SwinTransformer/` 中提供了 SwinTransformer 的训练配置,可以通过如下脚本启动训练:此部分内容可以参考[ResNet50 模型训练、评估和预测](./ResNet.md#3)。 **备注:** 由于 SwinTransformer 系列模型默认使用的 GPU 数量为 8 个,所以在训练时,需要指定8个GPU,如`python3 -m paddle.distributed.launch --gpus="0,1,2,3,4,5,6,7" tools/train.py -c xxx.yaml`, 如果使用 4 个 GPU 训练,默认学习率需要减小一半,精度可能有损。 @@ -92,13 +92,13 @@ Swin Transformer 是一种新的视觉 Transformer 网络,可以用作计算 Paddle Inference 是飞桨的原生推理库, 作用于服务器端和云端,提供高性能的推理能力。相比于直接基于预训练模型进行预测,Paddle Inference可使用 MKLDNN、CUDNN、TensorRT 进行预测加速,从而实现更优的推理性能。更多关于Paddle Inference推理引擎的介绍,可以参考[Paddle Inference官网教程](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/infer/inference/inference_cn.html)。 -Inference 的获取可以参考 [ResNet50 推理模型准备](ResNet.md1-推理模型准备) 。 +Inference 的获取可以参考 [ResNet50 推理模型准备](./ResNet.md#4.1) 。 ### 4.2 基于 Python 预测引擎推理 -PaddleClas 提供了基于 python 预测引擎推理的示例。您可以参考[ResNet50 基于 Python 预测引擎推理](ResNet.md2-基于-python-预测引擎推理) 对 SwinTransformer 完成推理预测。 +PaddleClas 提供了基于 python 预测引擎推理的示例。您可以参考[ResNet50 基于 Python 预测引擎推理](./ResNet.md#4.2) 对 SwinTransformer 完成推理预测。 @@ -112,7 +112,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/ImageNet1k/PaddleLite_benchmark.md b/docs/zh_CN/models/ImageNet1k/paddle_lite_benchmark.md similarity index 95% rename from docs/zh_CN/models/ImageNet1k/PaddleLite_benchmark.md rename to docs/zh_CN/models/ImageNet1k/paddle_lite_benchmark.md index 6cdb19ad4a..f5e26402bc 100644 --- a/docs/zh_CN/models/ImageNet1k/PaddleLite_benchmark.md +++ b/docs/zh_CN/models/ImageNet1k/paddle_lite_benchmark.md @@ -15,7 +15,7 @@ [Paddle-Lite](https://github.com/PaddlePaddle/Paddle-Lite) 是飞桨推出的一套功能完善、易用性强且性能卓越的轻量化推理引擎。 轻量化体现在使用较少比特数用于表示神经网络的权重和激活,能够大大降低模型的体积,解决终端设备存储空间有限的问题,推理性能也整体优于其他框架。 -[PaddleClas](https://github.com/PaddlePaddle/PaddleClas) 使用 Paddle-Lite 进行了[移动端模型的性能评估](../models/Mobile.md),本部分以 `ImageNet1k` 数据集的 `MobileNetV1` 模型为例,介绍怎样使用 `Paddle-Lite`,在移动端(基于骁龙855的安卓开发平台)对进行模型速度评估。 +[PaddleClas](https://github.com/PaddlePaddle/PaddleClas) 使用 Paddle-Lite 进行了[移动端模型的性能评估](./Mobile.md),本部分以 `ImageNet1k` 数据集的 `MobileNetV1` 模型为例,介绍怎样使用 `Paddle-Lite`,在移动端(基于骁龙855的安卓开发平台)对进行模型速度评估。 diff --git a/docs/zh_CN/models/PULC/PULC_car_exists.md b/docs/zh_CN/models/PULC/PULC_car_exists.md index b4e969feed..cd7dacc3e9 100644 --- a/docs/zh_CN/models/PULC/PULC_car_exists.md +++ b/docs/zh_CN/models/PULC/PULC_car_exists.md @@ -451,7 +451,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_language_classification.md b/docs/zh_CN/models/PULC/PULC_language_classification.md index a5803b0cfa..44b0e21bde 100644 --- a/docs/zh_CN/models/PULC/PULC_language_classification.md +++ b/docs/zh_CN/models/PULC/PULC_language_classification.md @@ -434,7 +434,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_person_attribute.md b/docs/zh_CN/models/PULC/PULC_person_attribute.md index 9743367a83..910fb8879f 100644 --- a/docs/zh_CN/models/PULC/PULC_person_attribute.md +++ b/docs/zh_CN/models/PULC/PULC_person_attribute.md @@ -434,7 +434,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_person_exists.md b/docs/zh_CN/models/PULC/PULC_person_exists.md index 9f00f82f4d..0775cfcbaf 100644 --- a/docs/zh_CN/models/PULC/PULC_person_exists.md +++ b/docs/zh_CN/models/PULC/PULC_person_exists.md @@ -453,7 +453,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_safety_helmet.md b/docs/zh_CN/models/PULC/PULC_safety_helmet.md index 272907e807..8af6a6147f 100644 --- a/docs/zh_CN/models/PULC/PULC_safety_helmet.md +++ b/docs/zh_CN/models/PULC/PULC_safety_helmet.md @@ -419,7 +419,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_text_image_orientation.md b/docs/zh_CN/models/PULC/PULC_text_image_orientation.md index 863981fe43..92a2382f97 100644 --- a/docs/zh_CN/models/PULC/PULC_text_image_orientation.md +++ b/docs/zh_CN/models/PULC/PULC_text_image_orientation.md @@ -441,7 +441,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_textline_orientation.md b/docs/zh_CN/models/PULC/PULC_textline_orientation.md index 8800a0fec0..39eafd6bfa 100644 --- a/docs/zh_CN/models/PULC/PULC_textline_orientation.md +++ b/docs/zh_CN/models/PULC/PULC_textline_orientation.md @@ -438,7 +438,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_traffic_sign.md b/docs/zh_CN/models/PULC/PULC_traffic_sign.md index 71fb80b006..5a838b1322 100644 --- a/docs/zh_CN/models/PULC/PULC_traffic_sign.md +++ b/docs/zh_CN/models/PULC/PULC_traffic_sign.md @@ -466,7 +466,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/models/PULC/PULC_vehicle_attribute.md b/docs/zh_CN/models/PULC/PULC_vehicle_attribute.md index d232594e3e..b0c17243e0 100644 --- a/docs/zh_CN/models/PULC/PULC_vehicle_attribute.md +++ b/docs/zh_CN/models/PULC/PULC_vehicle_attribute.md @@ -458,7 +458,7 @@ PaddleClas 提供了基于 C++ 预测引擎推理的示例,您可以参考[服 Paddle Serving 提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 支持 RESTful、gRPC、bRPC 等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案。更多关于Paddle Serving 的介绍,可以参考[Paddle Serving 代码仓库](https://github.com/PaddlePaddle/Serving)。 -PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../deployment/paddle_serving_deploy.md)来完成相应的部署工作。 +PaddleClas 提供了基于 Paddle Serving 来完成模型服务化部署的示例,您可以参考[模型服务化部署](../../deployment/image_classification/paddle_serving.md)来完成相应的部署工作。 diff --git a/docs/zh_CN/quick_start/PULC.md b/docs/zh_CN/quick_start/PULC.md index 3c7cdefce5..5a365f825f 100644 --- a/docs/zh_CN/quick_start/PULC.md +++ b/docs/zh_CN/quick_start/PULC.md @@ -7,8 +7,8 @@ ## 目录 - [1. 安装](#1) - - [1.1 安装PaddlePaddle](#11) - - [1.2 安装PaddleClas whl包](#12) + - [1.1 安装PaddlePaddle](#1.1) + - [1.2 安装PaddleClas whl包](#1.2) - [2. 快速体验](#2) - [2.1 命令行使用](#2.1) - [2.2 Python脚本使用](#2.2) diff --git a/docs/zh_CN/training/PP-ShiTu/feature_extraction.md b/docs/zh_CN/training/PP-ShiTu/feature_extraction.md index 818599352f..64e1858f76 100644 --- a/docs/zh_CN/training/PP-ShiTu/feature_extraction.md +++ b/docs/zh_CN/training/PP-ShiTu/feature_extraction.md @@ -40,7 +40,7 @@ - **Backbone**: 用于提取输入图像初步特征的骨干网络,一般由配置文件中的 [Backbone](../../../../ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml#L33-L37) 以及 [BackboneStopLayer](../../../../ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml#L38-L39) 字段共同指定。 - **Neck**: 用以特征增强及特征维度变换。可以是一个简单的 FC Layer,用来做特征维度变换;也可以是较复杂的 FPN 结构,用以做特征增强,一般由配置文件中的 [Neck](../../../../ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml#L40-L51) 字段指定。 -- **Head**: 用来将 `Neck` 的输出 feature 转化为 logits,让模型在训练阶段能以分类任务的形式进行训练。除了常用的 FC Layer 外,还可以替换为 [CosMargin](../../../../ppcls/arch/gears/cosmargin.py), [ArcMargin](../../../../ppcls/arch/gears/arcmargin.py), [CircleMargin](../../../../ppcls/arch/gears/circlemargin.py) 等模块,一般由配置文件中的 [Head](`../../../ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml#L52-L60) 字段指定。 +- **Head**: 用来将 `Neck` 的输出 feature 转化为 logits,让模型在训练阶段能以分类任务的形式进行训练。除了常用的 FC Layer 外,还可以替换为 [CosMargin](../../../../ppcls/arch/gears/cosmargin.py), [ArcMargin](../../../../ppcls/arch/gears/arcmargin.py), [CircleMargin](../../../../ppcls/arch/gears/circlemargin.py) 等模块,一般由配置文件中的 [Head](../../../../ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml#L52-L60) 字段指定。 - **Loss**: 指定所使用的 Loss 函数。我们将 Loss 设计为组合 loss 的形式,可以方便地将 Classification Loss 和 Metric learning Loss 组合在一起,一般由配置文件中的 [Loss](../../../../ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml#L63-L77) 字段指定。 diff --git a/docs/zh_CN/training/advanced/feature_visiualization.md b/docs/zh_CN/training/advanced/feature_visiualization.md index d3007972d2..22c1173c07 100644 --- a/docs/zh_CN/training/advanced/feature_visiualization.md +++ b/docs/zh_CN/training/advanced/feature_visiualization.md @@ -17,7 +17,7 @@ ## 2. 准备工作 -首先需要选定研究的模型,本文设定 ResNet50 作为研究模型,将模型组网代码[resnet.py](../../../../ppcls/arch/backbone/legendary_models/resnet.py)拷贝到[目录](../../../ppcls/utils/feature_maps_visualization/)下,并下载[ResNet50 预训练模型](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_pretrained.pdparams),或使用以下命令下载。 +首先需要选定研究的模型,本文设定 ResNet50 作为研究模型,将模型组网代码[resnet.py](../../../../ppcls/arch/backbone/legendary_models/resnet.py)拷贝到[目录](../../../../ppcls/utils/feature_maps_visualization/)下,并下载[ResNet50 预训练模型](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_pretrained.pdparams),或使用以下命令下载。 ```bash wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_pretrained.pdparams diff --git a/docs/zh_CN/training/advanced/prune_quantization.md b/docs/zh_CN/training/advanced/prune_quantization.md index 274a76e466..103b1c60be 100644 --- a/docs/zh_CN/training/advanced/prune_quantization.md +++ b/docs/zh_CN/training/advanced/prune_quantization.md @@ -160,7 +160,7 @@ python3.7 tools/export.py \ ## 4. 模型部署 -上述步骤导出的模型可以直接使用 inferecne 进行部署,参考 [inference 部署](../deployment/)。 +上述步骤导出的模型可以直接使用 inferecne 进行部署,参考 [inference 部署](../../deployment/)。 也通过 PaddleLite 的 opt 模型转换工具,完成 inference 模型到移动端模型转换,用于移动端的模型部署。 移动端模型部署的可参考 [移动端模型部署](../../deployment/image_classification/paddle_lite.md)。 diff --git a/docs/zh_CN/training/metric_learning/training.md b/docs/zh_CN/training/metric_learning/training.md index 20d38b158a..07c86e1af8 100644 --- a/docs/zh_CN/training/metric_learning/training.md +++ b/docs/zh_CN/training/metric_learning/training.md @@ -189,7 +189,7 @@ Loss: margin: 0.5 ``` -最终的总 Loss 是所有 Loss 的加权和,其中 weight 定义了特定 Loss 在最终总 Loss 的权重。如果想替换其他 Loss,也可以在配置文件中更改 Loss 字段,目前支持的 Loss 请参考 [Loss](../../../ppcls/loss/__init__.py)。 +最终的总 Loss 是所有 Loss 的加权和,其中 weight 定义了特定 Loss 在最终总 Loss 的权重。如果想替换其他 Loss,也可以在配置文件中更改 Loss 字段,目前支持的 Loss 请参考 [Loss](../../../../ppcls/loss/__init__.py)。 @@ -257,7 +257,7 @@ python3.7 -m paddle.distributed.launch tools/eval.py \ 可配置的部分评估参数说明如下: * `Global.pretrained_model`:待评估的模型的预训练模型文件路径,不同于 `Global.Backbone.pretrained`,此处的预训练模型是整个模型的权重,而 `Global.Backbone.pretrained` 只是 Backbone 部分的权重。当需要做模型评估时,需要加载整个模型的权重。 -* `Metric.Eval`:待评估的指标,默认评估 `recall@1`、`recall@5`、`mAP`。当你不准备评测某一项指标时,可以将对应的试标从配置文件中删除;当你想增加某一项评测指标时,也可以参考 [Metric](../../../ppcls/metric/metrics.py) 部分在配置文件 `Metric.Eval` 中添加相关的指标。 +* `Metric.Eval`:待评估的指标,默认评估 `recall@1`、`recall@5`、`mAP`。当你不准备评测某一项指标时,可以将对应的试标从配置文件中删除;当你想增加某一项评测指标时,也可以参考 [Metric](../../../../ppcls/metric/metrics.py) 部分在配置文件 `Metric.Eval` 中添加相关的指标。 **注意:** @@ -280,7 +280,7 @@ python3.7 tools/export_model.py \ 其中,`Global.pretrained_model` 用于指定模型文件路径,该路径仍无需包含模型文件后缀名(如[2.2.2 特征提取模型恢复训练](#2.2.2))。当执行后,会在当前目录下生成 `./inference` 目录,目录下包含 `inference.pdiparams`、`inference.pdiparams.info`、`inference.pdmodel` 文件。`Global.save_inference_dir` 可以指定导出 inference 模型文件夹的路径。此处保存的 inference 模型在 embedding 特征层做了截断,即模型的推理输出为 n 维特征。 -有了上述命令将生成的模型结构文件(`inference.pdmodel`)和模型权重文件(`inference.pdiparams`),接下来就可以使用预测引擎进行推理。使用 inference 模型推理的流程可以参考[基于 Python 预测引擎预测推理](../deployment/image_classification/python_deploy.md)。 +有了上述命令将生成的模型结构文件(`inference.pdmodel`)和模型权重文件(`inference.pdiparams`),接下来就可以使用预测引擎进行推理。使用 inference 模型推理的流程可以参考[基于 Python 预测引擎预测推理](../../deployment/image_classification/python.md)。 @@ -325,7 +325,7 @@ python3.7 -m pip install faiss-cpu==1.7.1post2 - 度量学习(Metric Learning) - 度量学习研究如何在一个特定的任务上学习一个距离函数,使得该距离函数能够帮助基于近邻的算法(kNN、k-means 等)取得较好的性能。深度度量学习(Deep Metric Learning)是度量学习的一种方法,它的目标是学习一个从原始特征到低维稠密的向量空间(嵌入空间,embedding space)的映射,使得同类对象在嵌入空间上使用常用的距离函数(欧氏距离、cosine 距离等)计算的距离比较近,而不同类的对象之间的距离则比较远。深度度量学习在计算机视觉领域取得了非常多的成功的应用,比如人脸识别、商品识别、图像检索、行人重识别等。更详细的介绍请参考[此文档](../algorithm_introduction/metric_learning.md)。 + 度量学习研究如何在一个特定的任务上学习一个距离函数,使得该距离函数能够帮助基于近邻的算法(kNN、k-means 等)取得较好的性能。深度度量学习(Deep Metric Learning)是度量学习的一种方法,它的目标是学习一个从原始特征到低维稠密的向量空间(嵌入空间,embedding space)的映射,使得同类对象在嵌入空间上使用常用的距离函数(欧氏距离、cosine 距离等)计算的距离比较近,而不同类的对象之间的距离则比较远。深度度量学习在计算机视觉领域取得了非常多的成功的应用,比如人脸识别、商品识别、图像检索、行人重识别等。更详细的介绍请参考[此文档](../../algorithm_introduction/metric_learning.md)。