Fork自 PaddlePaddle / PaddleDetection
# FAQ(常见问题) **Q:** 为什么我使用单GPU训练loss会出`NaN`? </br> **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`: </br> | 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卡数后只需要修改学习率即可,修改方式和静态图相同.