jiangjiajun 5 лет назад
Родитель
Сommit
0d795d27e7

+ 4 - 3
.github/ISSUE_TEMPLATE/4_gui.md

@@ -1,9 +1,10 @@
 ---
-name: 4. PaddleX GUI使用问题
-about: Paddle GUI客户端使用问题
+name: 4. PaddleX可视化客户端使用问题
+about: PaddleX可视化客户端使用问题
 ---
-问题类型:PaddleX GUI  
+问题类型:PaddleX可视化客户端  
 **问题描述**  
 
 ===================================  
+
 请在这里描述您在使用GUI过程中的问题

+ 10 - 0
docs/apis/slim.md

@@ -1,6 +1,16 @@
 # 模型压缩
 
+## paddlex.slim.prune.analysis
+> **计算参数敏感度**
+```
+paddlex.slim.prune.analysis(model, dataset, batch_size, save_file='model.sensi.data')
+```
+此函数接口与`paddlex.slim.cal_params_sensitivites`接口功能一致,仅修改了函数名,参数名,顺序和默认值,推荐使用此接口。
+
+使用示例参考[教程-模型裁剪训练](https://github.com/PaddlePaddle/PaddleX/tree/develop/tutorials/slim/prune)
+
 ## paddlex.slim.cal_params_sensitivities
+> 此函数接口与`paddlex.slim.prune.analysis`功能一致,推荐使用`paddlex.slim.prune.analysis`接口  
 > **计算参数敏感度**  
 ```
 paddlex.slim.cal_params_sensitivities(model, save_file, eval_dataset, batch_size=8)

+ 4 - 0
docs/deploy/export_model.md

@@ -1,5 +1,7 @@
 # 部署模型导出
 
+**注:所有涉及到模型部署,均需要参考本文档,进行部署模型导出**  
+
 在服务端部署模型时需要将训练过程中保存的模型导出为inference格式模型,导出的inference格式模型包括`__model__`、`__params__`和`model.yml`三个文件,分别表示模型的网络结构、模型权重和模型的配置文件(包括数据预处理参数等)。
 
 > **检查你的模型文件夹**,如果里面是`model.pdparams`, `model.pdmodel`和`model.yml`3个文件时,那么就需要按照下面流程进行模型导出
@@ -22,7 +24,9 @@ paddlex --export_inference --model_dir=./xiaoduxiong_epoch_12 --save_dir=./infer
 
 **注意**:
 - 分类模型的固定输入大小请保持与训练时的输入大小一致;
+- 检测模型模型中YOLO系列请保存w与h一致,且为32的倍数大小;RCNN类无此限制,按需设定即可
 - 指定[w,h]时,w和h中间逗号隔开,不允许存在空格等其他字符。
+- 需要注意的,w,h设得越大,模型在预测过程中所需要的耗时和内存/显存占用越高;设得太小,会影响模型精度
 
 ```
 paddlex --export_inference --model_dir=./xiaoduxiong_epoch_12 --save_dir=./inference_model --fixed_input_shape=[640,960]

+ 1 - 1
docs/deploy/hub_serving.md

@@ -1,4 +1,4 @@
-# 轻量级服务化部署
+# PaddleHub轻量级服务化部署
 ## 简介
 借助`PaddleHub-Serving`,可以将`PaddleX`的`Inference Model`进行快速部署,以提供在线预测的能力。
 

+ 1 - 1
docs/deploy/server/index.rst

@@ -1,4 +1,4 @@
-服务端部署
+CPU/GPU(加密)部署
 =======================================
 
 

+ 13 - 7
docs/gui/download.md

@@ -1,15 +1,22 @@
-## PaddleX GUI安装
+# 下载安装
 
- PaddleX GUI是提升项目开发效率的核心模块,开发者可快速完成深度学习模型全流程开发。我们诚挚地邀请您前往 [官网](https://www.paddlepaddle.org.cn/paddle/paddleX)下载试用PaddleX GUI可视化前端,并获得您宝贵的意见或开源项目贡献。
+下载地址:https://www.paddlepaddle.org.cn/paddle/paddleXPaddleX 
 
 
+## 安装方式
 
-### 安装推荐环境
+**注意:安装/解压路径请务必在不包含中文和空格的路径下,否则会导致可能无法正确训练模型**
+
+- Windows下载后双击后选择安装路径即可
+- Mac/Ubuntu下载后解压即可
+
+
+## 安装推荐环境
 
 * **操作系统**:
-  * Windows7/8/10(推荐Windows 10);
+  * Windows 10;
   * Mac OS 10.13+;
-  * Ubuntu 18.04+;
+  * Ubuntu 18.04(Ubuntu暂只支持18.04)
 
 ***注:处理器需为x86_64架构,支持MKL。***
 
@@ -24,5 +31,4 @@
   * **内存**:建议8G以上  
   * **硬盘空间**:建议SSD剩余空间1T以上(非必须)  
 
-***注:PaddleX在Mac OS系统只支持单卡模型。Windows系统暂不支持NCCL。***
-
+***注:PaddleX在Mac OS系统只支持CPU训练。Windows系统只支持单GPU卡训练。***

+ 33 - 14
docs/gui/how_to_use.md

@@ -1,14 +1,16 @@
-# PaddleX GUI使用教程
+# 使用方法
 
 *注:如果你的系统是 Mac OS 10.15.5及以上,在双击客户端icon后,需要在Terminal中执行 sudo xattr -r -d com.apple.quarantine /Users/username/PaddleX ,并稍等几秒来启动客户端,其中 /Users/username/PaddleX 为您保存PaddleX的文件夹路径*
 
-**第一步:准备数据**
+## 准备和导入数据
 
-在开始模型训练前,您需要根据不同的任务类型,将数据标注为相应的格式。目前PaddleX支持【图像分类】、【目标检测】、【语义分割】、【实例分割】四种任务类型。不同类型任务的数据处理方式可查看[数据标注方式](https://paddlex.readthedocs.io/zh_CN/latest/appendix/datasets.html)。
+**第一步: 准备数据**
+在开始模型训练前,您需要根据不同的任务类型,将数据标注为相应的格式。目前PaddleX支持【图像分类】、【目标检测】、【语义分割】、【实例分割】四种任务类型。  
+开发者可以参考PaddleX使用文档中的[2.数据准备-数据标注](../data/annotations/index.html)来进行数据标注和转换工作。 如若开发者自行准备数据,请注意数据格式与PaddleX支持四种数据格式是否一致。
 
- 
 
-**第二步:导入我的数据集**
+
+**第二步:导入的据集**
 
 ①数据标注完成后,您需要根据不同的任务,将数据和标注文件,按照客户端提示更名并保存到正确的文件中。
 
@@ -22,7 +24,10 @@
 
 ![](images/dataset2.jpg)
 
-**第三步:创建项目**
+
+## 创建项目和任务
+
+**第一步:创建项目**
 
 ① 在完成数据导入后,您可以点击「新建项目」创建一个项目。
 
@@ -32,7 +37,7 @@
 
 
 
-**第步:项目开发**
+**第步:项目开发**
 
 ① **数据选择**:项目创建完成后,您需要选择已载入客户端并校验后的数据集,并点击下一步,进入参数配置页面。
 
@@ -42,9 +47,11 @@
 
 ![](images/project2.jpg)
 
+## 任务模型训练
+
 参数配置完成后,点击启动训练,模型开始训练并进行效果评估。
 
- **训练可视化**:在训练过程中,您可通过VisualDL查看模型训练过程参数变化、日志详情,及当前最优的训练集和验证集训练指标。模型在训练过程中通过点击"中止训练"随时中止训练过程。
+ **训练可视化**:在训练过程中,您可通过VisualDL查看模型训练过程参数变化、日志详情,及当前最优的训练集和验证集训练指标。模型在训练过程中通过点击"中止训练"随时中止训练过程。
 
 ![](images/visualization1.jpg)
 
@@ -52,11 +59,24 @@
 
 ![](images/visualization2.jpg)
 
-④ **模型裁剪**:如果开发者希望减少模型的体积、计算量,提升模型在设备上的预测性能,可以采用PaddleX提供的模型裁剪策略。裁剪过程将对模型各卷积层的敏感度信息进行分析,根据各参数对模型效果的影响进行不同比例的裁剪,再进行精调训练获得最终裁剪后的模型。
+> 模型训练是最容易出错的步骤,经常遇到的原因为电脑无法联网下载预训练模型、显存不够。训练检测模型\实例分割模型对于显存要求较高,**建议用户通过在Windows/Mac/Ubuntu的命令行终端(Windows的Cmd命令终端)执行`nvidia-smi`命令**查看显存情况,请不要使用系统自带的任务管理器查看。  
+
+## 任务模型裁剪训练
+
+此步骤可选,模型裁剪训练相对比普通的任务模型训练,需要消耗更多的时间,需要在正常任务模型训练的基础上,增加『**模型裁剪分类**』和『**模型裁剪训练**』两个步骤。  
+
+裁剪过程将对模型各卷积层的敏感度信息进行分析,根据各参数对模型效果的影响进行不同比例的裁剪,再进行精调训练获得最终裁剪后的模型。  
+裁剪训练后的模型体积,计算量都会减少,并且可以提升模型在低性能设备的预测速度,如移动端,边缘设备,CPU。
+
+在可视化客户端上,**用户训练好模型后**,在训练界面,
+- 首先,点击『模型裁剪分析』,此过程将会消耗较长的时间
+- 接着,点击『开始模型裁剪训练』,客户端会创建一个新的任务,无需修改参数,直接再启动训练即可
 
 ![](images/visualization3.jpg)
 
-⑤ **模型评估**:在模型评估页面,您可查看训练后的模型效果。评估方法包括混淆矩阵、精度、召回率等。
+## 模型效果评估
+
+在模型评估页面,您可查看训练后的模型效果。评估方法包括混淆矩阵、精度、召回率等。
 
 ![](images/visualization4.jpg)
 
@@ -64,11 +84,10 @@
 
 ![](images/visualization5.jpg)
 
+## 模型发布
 
-
-**第五步:模型发布**
-
-当模型效果满意后,您可根据实际的生产环境需求,选择将模型发布为需要的版本。
+当模型效果满意后,您可根据实际的生产环境需求,选择将模型发布为需要的版本。  
+> 如若要部署到移动端/边缘设备,对于部分支持量化的模型,还可以根据需求选择是否量化。量化可以压缩模型体积,提升预测速度
 
 ![](images/publish.jpg)
 

+ 1 - 1
docs/gui/index.rst

@@ -47,7 +47,7 @@ PaddleX GUI覆盖深度学习模型开发必经的 **数据处理** 、 **超参
    :caption: 文档目录
    
    download.md
-   how_to_use.md
+   usage/index
    faq.md
 
 

+ 67 - 9
docs/index.rst

@@ -8,18 +8,76 @@ PaddleX是基于飞桨核心框架、开发套件和工具组件的深度学习
 * 官方QQ用户群: 1045148026  
 * GitHub Issue反馈: http://www.github.com/PaddlePaddle/PaddleX/issues
 
+1. 注:本使用手册在打印为pdf后,可能会存在部分格式的兼容问题;
+2. 注:本文档持续在http://paddlex.readthedocs.io/进行更新。
+
 
 .. toctree::
-   :maxdepth: 2
-   :caption: PaddleX使用文档目录
+   :maxdepth: 1
+   :caption: 1. 快速了解PaddleX
 
    quick_start.md
    install.md
-   data/index
+
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 2. 数据准备
+
+   data/annotation/index
+   data/format/index
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 3. 模型训练与参数调整
+
    train/index
-   deploy/index
-   examples/index
-   gui/index
-   apis/index
-   change_log.md
-   appendix/index
+   train/prediction.md
+   appendix/parameters.md
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 4. 模型压缩优化
+
+   slim/prune.md
+   slim/quant.md
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 5. 模型多端安全部署
+
+   deploy/export_model.md
+   deploy/hub_serving.md
+   deploy/server/index
+   deploy/nvidia-jetson.md
+   deploy/paddlelite/android.md
+   deploy/raspberry/index
+   deploy/openvino/index
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 6. 产业案例集
+
+   examples/meter_reader.md
+   examples/human_segmentation.md
+   examples/remote_sensing.md
+   examples/multi-channel_remote_sensing/README.md
+   examples/change_detection.md
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 7. 可视化客户端使用
+
+   gui/introduce.md
+   gui/download.md
+   gui/how_to_use.md
+
+.. toctree::
+   :maxdepth: 1
+   :caption: 8. 附录
+
+   apis/index.rst
+   appendix/model_zoo.md
+   appendix/metrics.md
+   appendix/interpret.md
+   appendix/how_to_offline_run.md

+ 0 - 1
docs/train/index.rst

@@ -12,5 +12,4 @@ PaddleX集成了PaddleClas、PaddleDetection和PaddleSeg三大CV工具套件中
    object_detection.md
    instance_segmentation.md
    semantic_segmentation.md
-   prediction.md
    visualdl.md