diff --git a/README_cn.md b/README_cn.md index ce090517d8415dfd8fb9df7483d51642f87395f9..85a56236942e53ff7441716bcfa0e09bfc7d85a7 100644 --- a/README_cn.md +++ b/README_cn.md @@ -196,6 +196,8 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 - [安装说明](docs/tutorials/INSTALL_cn.md) - [数据准备](docs/tutorials/PrepareDataSet.md) - [30分钟上手PaddleDetcion](docs/tutorials/GETTING_STARTED_cn.md) +- [常见问题汇总](docs/tutorials/FAQ.md) + ### 进阶教程 diff --git a/docs/tutorials/FAQ.md b/docs/tutorials/FAQ.md new file mode 100644 index 0000000000000000000000000000000000000000..24e675b377e384d12f203ad9292540894529712e --- /dev/null +++ b/docs/tutorials/FAQ.md @@ -0,0 +1,14 @@ +# FAQ(常见问题) + +**Q:** 为什么我使用单GPU训练loss会出`NaN`?
+**A:** 配置文件中原始学习率是适配多GPU训练(8x GPU),若使用单GPU训练,须对应调整学习率(例如,除以8)。 +以[faster_rcnn_r50](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.1/configs/faster_rcnn/faster_rcnn_r50_1x_coco.yml) 为例,在静态图下计算规则表如下所示,它们是等价的,表中变化节点即为`piecewise decay`里的`boundaries`:
+ + +| GPU数 |batch size/卡| 学习率 | 最大轮数 | 变化节点 | +| :---------: | :------------:|:------------: | :-------: | :--------------: | +| 2 | 1 | 0.0025 | 720000 | [480000, 640000] | +| 4 | 1 | 0.005 | 360000 | [240000, 320000] | +| 8 | 1| 0.01 | 180000 | [120000, 160000] | + +* 上述方式适用于静态图下。在动态图中,由于训练以epoch方式计数,因此调整GPU卡数后只需要修改学习率即可,修改方式和静态图相同. diff --git a/docs/tutorials/GETTING_STARTED_cn.md b/docs/tutorials/GETTING_STARTED_cn.md index c2379e08c0ef84d2e446fa2ed8ddb7524b8db031..b22f054caa78848e0aa9b7b78a4b528190365270 100644 --- a/docs/tutorials/GETTING_STARTED_cn.md +++ b/docs/tutorials/GETTING_STARTED_cn.md @@ -79,6 +79,12 @@ ppyolov2_reader.yml 主要说明数据读取器配置,如batch size,并发
配置文件结构说明

+### 修改配置文件说明 +* 关于数据的路径修改说明 +在修改配置文件中,用户如何实现自定义数据集是非常关键的一步,如何定义数据集请参考[如何自定义数据集](https://aistudio.baidu.com/aistudio/projectdetail/1917140) +* 默认学习率是适配多GPU训练(8x GPU),若使用单GPU训练,须对应调整学习率(例如,除以8) +* 更多使用问题,请参考[FAQ](FAQ.md) + ## 4 训练 PaddleDetection提供了单卡/多卡训练模式,满足用户多种训练需求