From 9262d2767fef89044c7e7b3610b6b4a21b40638c Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Fri, 26 Mar 2021 19:51:11 +0800 Subject: [PATCH] add SSLD model (#2421) --- configs/face_detection/README.md | 2 +- configs/gn/README.md | 8 ++--- configs/solov2/README.md | 4 +-- configs/ssld/README.md | 33 ++++++++++++++++++ ...cade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 18 ++++++++++ ...cade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ .../cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 18 ++++++++++ .../cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ .../faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 29 +++++++++++++++ .../faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ .../mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 29 +++++++++++++++ .../mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ docs/images/ssld_model.png | Bin 0 -> 22184 bytes 13 files changed, 250 insertions(+), 7 deletions(-) create mode 100644 configs/ssld/README.md create mode 100644 configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 docs/images/ssld_model.png diff --git a/configs/face_detection/README.md b/configs/face_detection/README.md index b6d37c652..7a1733fd1 100644 --- a/configs/face_detection/README.md +++ b/configs/face_detection/README.md @@ -11,7 +11,7 @@ | 网络结构 | 输入尺寸 | 图片个数/GPU | 学习率策略 | Easy/Medium/Hard Set | 预测时延(SD855)| 模型大小(MB) | 下载 | 配置文件 | |:------------:|:--------:|:----:|:-------:|:-------:|:---------:|:----------:|:---------:|:--------:| -| BlazeFace | 640 | 8 | 1000e | 0.889 / 0.859 / 0.740 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/face_detection/blazeface_1000e.yml) | +| BlazeFace | 640 | 8 | 1000e | 0.889 / 0.859 / 0.740 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/face_detection/blazeface_1000e.yml) | **注意:** - 我们使用多尺度评估策略得到`Easy/Medium/Hard Set`里的mAP。具体细节请参考[在WIDER-FACE数据集上评估](#在WIDER-FACE数据集上评估)。 diff --git a/configs/gn/README.md b/configs/gn/README.md index 8875286a7..ec10831f9 100644 --- a/configs/gn/README.md +++ b/configs/gn/README.md @@ -4,10 +4,10 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | Mask AP | 下载 | 配置文件 | | :------------- | :------------- | :-----------: | :------: | :--------: |:-----: | :-----: | :----: | :----: | -| ResNet50-FPN | Faster | 1 | 2x | - | 41.9 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Mask | 1 | 2x | - | 42.3 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Cascade Faster | 1 | 2x | - | - | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Cacade Mask | 1 | 2x | - | 45.0 | 39.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 2x | - | 41.9 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Mask | 1 | 2x | - | 42.3 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Cascade Faster | 1 | 2x | - | 44.6 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Cacade Mask | 1 | 2x | - | 45.0 | 39.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml) | **注意:** Faster R-CNN baseline仅使用 `2fc` head,而此处使用[`4conv1fc` head](https://arxiv.org/abs/1803.08494)(4层conv之间使用GN),并且FPN也使用GN,而对于Mask R-CNN是在mask head的4层conv之间也使用GN。 diff --git a/configs/solov2/README.md b/configs/solov2/README.md index 68f0bc06d..e5bcc1c34 100644 --- a/configs/solov2/README.md +++ b/configs/solov2/README.md @@ -19,8 +19,8 @@ SOLOv2 (Segmenting Objects by Locations) is a fast instance segmentation framewo | BlendMask | R50-FPN | True | 3x | 37.8 | 13.5 | V100 | - | - | | SOLOv2 (Paper) | R50-FPN | False | 1x | 34.8 | 18.5 | V100 | - | - | | SOLOv2 (Paper) | X101-DCN-FPN | True | 3x | 42.4 | 5.9 | V100 | - | - | -| SOLOv2 | R50-FPN | False | 1x | 35.5 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/solov2/solov2_r50_fpn_1x_coco.yml) | -| SOLOv2 | R50-FPN | True | 3x | 38.0 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_3x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/solov2/solov2_r50_fpn_3x_coco.yml) | +| SOLOv2 | R50-FPN | False | 1x | 35.5 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/solov2/solov2_r50_fpn_1x_coco.yml) | +| SOLOv2 | R50-FPN | True | 3x | 38.0 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_3x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/solov2/solov2_r50_fpn_3x_coco.yml) | **Notes:** diff --git a/configs/ssld/README.md b/configs/ssld/README.md new file mode 100644 index 000000000..48a4dd7cb --- /dev/null +++ b/configs/ssld/README.md @@ -0,0 +1,33 @@ +### Simple semi-supervised label knowledge distillation solution (SSLD) + +## Model Zoo + +| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | +| :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | +| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | + + +**注意事项:** + +- [SSLD](https://arxiv.org/abs/1811.11168)是一种知识蒸馏方法,我们使用蒸馏后性能更强的backbone预训练模型,进一步提升检测精度,详细方案请参考[知识蒸馏教程](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/en/advanced_tutorials/distillation/distillation_en.md) + +![demo image](../../docs/images/ssld_model.png) + +## Citations +``` +@misc{cui2021selfsupervision, + title={Beyond Self-Supervision: A Simple Yet Effective Network Distillation Alternative to Improve Backbones}, + author={Cheng Cui and Ruoyu Guo and Yuning Du and Dongliang He and Fu Li and Zewu Wu and Qiwen Liu and Shilei Wen and Jizhou Huang and Xiaoguang Hu and Dianhai Yu and Errui Ding and Yanjun Ma}, + year={2021}, + eprint={2103.05959}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} +``` diff --git a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..e64ad6bbf --- /dev/null +++ b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,18 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] diff --git a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..27dbb1e4c --- /dev/null +++ b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..2715b33f1 --- /dev/null +++ b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,18 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] diff --git a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..00476f6db --- /dev/null +++ b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..a529adb0b --- /dev/null +++ b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../faster_rcnn/_base_/optimizer_1x.yml', + '../faster_rcnn/_base_/faster_rcnn_r50_fpn.yml', + '../faster_rcnn/_base_/faster_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/faster_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 12 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [8, 11] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..b1c682e31 --- /dev/null +++ b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../faster_rcnn/_base_/optimizer_1x.yml', + '../faster_rcnn/_base_/faster_rcnn_r50_fpn.yml', + '../faster_rcnn/_base_/faster_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/faster_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..29f906e86 --- /dev/null +++ b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../mask_rcnn/_base_/optimizer_1x.yml', + '../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml', + '../mask_rcnn/_base_/mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/mask_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 12 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [8, 11] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..39674e25d --- /dev/null +++ b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../mask_rcnn/_base_/optimizer_1x.yml', + '../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml', + '../mask_rcnn/_base_/mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/mask_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/docs/images/ssld_model.png b/docs/images/ssld_model.png new file mode 100644 index 0000000000000000000000000000000000000000..594165933870931b98ee82fc3fab94d6bf4d3a74 GIT binary patch literal 22184 zcmeHvd0f-iwl5Zissv8;R4@#&M=G`|AR-A
cuFZP(3%?Fv8&3pBs1@PoA9n127k9p~Pwr?@J)8!xn
zzRXYDylb 7R0Nah%h%X84k)=gj!o)th|RkDRIF+_
zqe})0Pb*zGL=WI8J)Q*}Rmh>}Ly!A%h{c(mnXs~NDywkU+Et)DAHFh}%2s8jlD1K!
zhQkC5wnm85kOpgbL$mjsI7H?8A%arEDka<$tqkt!(yY