DBNet 混合精度训练 不收敛 #12445
-
系统环境/System Environment:Ubuntu 问题描述: 训练命令: 配置文件: Architecture: Loss: Optimizer: PostProcess: Metric: Train: Eval: 日志: |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
原因:amp不收敛是由于conv在amp下会产生上溢,由于模型中的DBFPN结构中 https://github.com/PaddlePaddle/PaddleOCR/blob/main/ppocr/modeling/necks/db_fpn.py#L123-L181 conv2d层输出缺少BN层进行归一化,导致模型不收敛。 |
Beta Was this translation helpful? Give feedback.
原因:amp不收敛是由于conv在amp下会产生上溢,由于模型中的DBFPN结构中 https://github.com/PaddlePaddle/PaddleOCR/blob/main/ppocr/modeling/necks/db_fpn.py#L123-L181 conv2d层输出缺少BN层进行归一化,导致模型不收敛。
解决方案:可以将conv2d结构替换为 ConvBNLayer https://github.com/PaddlePaddle/PaddleOCR/blob/main/ppocr/modeling/backbones/det_mobilenet_v3.py#L158-L200。经验证,模型可以收敛,精度为
best metric, hmean: 0.7441052370315215