Skip to content

Commit 6d35d76

Browse files
authored
[Benchmark] Uploading FastFCN on ADE20K (open-mmlab#972)
* Uploading FastFCN on ADE20K * fixing lint error
1 parent 54bd4bd commit 6d35d76

8 files changed

+222
-0
lines changed

configs/fastfcn/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@ year={2019}
3535
| EncNet + JPU | R-50-D32 | 512x1024 | 80000 | 8.15 | 4.77 | 77.97 |79.92 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_enc_512x1024_80k_cityscapes.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x1024_80k_cityscapes/fastfcn_r50-d32_jpu_enc_512x1024_80k_cityscapes_20210928_030036-78da5046.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x1024_80k_cityscapes/fastfcn_r50-d32_jpu_enc_512x1024_80k_cityscapes_20210928_030036.log.json) |
3636
| EncNet + JPU (4x4)| R-50-D32 | 512x1024 | 80000 | 15.45 | - | 78.6 | 80.25 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes_20210926_093217-e1eb6dbb.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes_20210926_093217.log.json) |
3737

38+
### ADE20K
39+
40+
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | config | download |
41+
| --------- | --------- | --------- | ------: | -------- | -------------- | ----: | ------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42+
| DeepLabV3 + JPU | R-50-D32 | 512x1024 | 80000 | 8.46 | 12.06 | 41.88 | 42.91 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k_20211013_190619-3aa40f2d.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k_20211013_190619.log.json) |
43+
| DeepLabV3 + JPU | R-50-D32 | 512x1024 | 160000 | - | - | 43.58 | 44.92 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k_20211008_152246-27036aee.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k_20211008_152246.log.json) |
44+
| PSPNet + JPU | R-50-D32 | 512x1024 | 80000 | 8.02 | 19.21 | 41.40 | 42.12 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k_20210930_225137-993d07c8.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k_20210930_225137.log.json) |
45+
| PSPNet + JPU | R-50-D32 | 512x1024 | 160000 | - | - | 42.63 | 43.71 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k_20211008_105455-e8f5a2fd.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k_20211008_105455.log.json) |
46+
| EncNet + JPU | R-50-D32 | 512x1024 | 80000 | 9.67 | 17.23 | 40.88 | 42.36 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k_20210930_225214-65aef6dd.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k_20210930_225214.log.json) |
47+
| EncNet + JPU | R-50-D32 | 512x1024 | 160000 | - | - | 42.50 | 44.21 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k_20211008_105456-d875ce3c.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k_20211008_105456.log.json) |
48+
3849
Note:
3950

4051
- `4x4` means 4 GPUs with 4 samples per GPU in training, default setting is 4 GPUs with 2 samples per GPU in training.

configs/fastfcn/fastfcn.yml

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Collections:
33
Metadata:
44
Training Data:
55
- Cityscapes
6+
- ADE20K
67
Paper:
78
URL: https://arxiv.org/abs/1903.11816
89
Title: 'FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation'
@@ -124,3 +125,111 @@ Models:
124125
mIoU(ms+flip): 80.25
125126
Config: configs/fastfcn/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes.py
126127
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes/fastfcn_r50-d32_jpu_enc_4x4_512x1024_80k_cityscapes_20210926_093217-e1eb6dbb.pth
128+
- Name: fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k
129+
In Collection: fastfcn
130+
Metadata:
131+
backbone: R-50-D32
132+
crop size: (512,1024)
133+
lr schd: 80000
134+
inference time (ms/im):
135+
- value: 82.92
136+
hardware: V100
137+
backend: PyTorch
138+
batch size: 1
139+
mode: FP32
140+
resolution: (512,1024)
141+
memory (GB): 8.46
142+
Results:
143+
- Task: Semantic Segmentation
144+
Dataset: ADE20K
145+
Metrics:
146+
mIoU: 41.88
147+
mIoU(ms+flip): 42.91
148+
Config: configs/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k.py
149+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k/fastfcn_r50-d32_jpu_aspp_512x512_80k_ade20k_20211013_190619-3aa40f2d.pth
150+
- Name: fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k
151+
In Collection: fastfcn
152+
Metadata:
153+
backbone: R-50-D32
154+
crop size: (512,1024)
155+
lr schd: 160000
156+
Results:
157+
- Task: Semantic Segmentation
158+
Dataset: ADE20K
159+
Metrics:
160+
mIoU: 43.58
161+
mIoU(ms+flip): 44.92
162+
Config: configs/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k.py
163+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k/fastfcn_r50-d32_jpu_aspp_512x512_160k_ade20k_20211008_152246-27036aee.pth
164+
- Name: fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k
165+
In Collection: fastfcn
166+
Metadata:
167+
backbone: R-50-D32
168+
crop size: (512,1024)
169+
lr schd: 80000
170+
inference time (ms/im):
171+
- value: 52.06
172+
hardware: V100
173+
backend: PyTorch
174+
batch size: 1
175+
mode: FP32
176+
resolution: (512,1024)
177+
memory (GB): 8.02
178+
Results:
179+
- Task: Semantic Segmentation
180+
Dataset: ADE20K
181+
Metrics:
182+
mIoU: 41.4
183+
mIoU(ms+flip): 42.12
184+
Config: configs/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k.py
185+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k/fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k_20210930_225137-993d07c8.pth
186+
- Name: fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k
187+
In Collection: fastfcn
188+
Metadata:
189+
backbone: R-50-D32
190+
crop size: (512,1024)
191+
lr schd: 160000
192+
Results:
193+
- Task: Semantic Segmentation
194+
Dataset: ADE20K
195+
Metrics:
196+
mIoU: 42.63
197+
mIoU(ms+flip): 43.71
198+
Config: configs/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k.py
199+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k/fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k_20211008_105455-e8f5a2fd.pth
200+
- Name: fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k
201+
In Collection: fastfcn
202+
Metadata:
203+
backbone: R-50-D32
204+
crop size: (512,1024)
205+
lr schd: 80000
206+
inference time (ms/im):
207+
- value: 58.04
208+
hardware: V100
209+
backend: PyTorch
210+
batch size: 1
211+
mode: FP32
212+
resolution: (512,1024)
213+
memory (GB): 9.67
214+
Results:
215+
- Task: Semantic Segmentation
216+
Dataset: ADE20K
217+
Metrics:
218+
mIoU: 40.88
219+
mIoU(ms+flip): 42.36
220+
Config: configs/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k.py
221+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k/fastfcn_r50-d32_jpu_enc_512x512_80k_ade20k_20210930_225214-65aef6dd.pth
222+
- Name: fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k
223+
In Collection: fastfcn
224+
Metadata:
225+
backbone: R-50-D32
226+
crop size: (512,1024)
227+
lr schd: 160000
228+
Results:
229+
- Task: Semantic Segmentation
230+
Dataset: ADE20K
231+
Metrics:
232+
mIoU: 42.5
233+
mIoU(ms+flip): 44.21
234+
Config: configs/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k.py
235+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/fastfcn/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k/fastfcn_r50-d32_jpu_enc_512x512_160k_ade20k_20211008_105456-d875ce3c.pth
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# model settings
2+
_base_ = './fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k.py'
3+
norm_cfg = dict(type='SyncBN', requires_grad=True)
4+
model = dict(
5+
decode_head=dict(
6+
_delete_=True,
7+
type='ASPPHead',
8+
in_channels=2048,
9+
in_index=2,
10+
channels=512,
11+
dilations=(1, 12, 24, 36),
12+
dropout_ratio=0.1,
13+
num_classes=150,
14+
norm_cfg=norm_cfg,
15+
align_corners=False,
16+
loss_decode=dict(
17+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
18+
# model training and testing settings
19+
train_cfg=dict(),
20+
test_cfg=dict(mode='whole'))
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# model settings
2+
_base_ = './fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k.py'
3+
norm_cfg = dict(type='SyncBN', requires_grad=True)
4+
model = dict(
5+
decode_head=dict(
6+
_delete_=True,
7+
type='ASPPHead',
8+
in_channels=2048,
9+
in_index=2,
10+
channels=512,
11+
dilations=(1, 12, 24, 36),
12+
dropout_ratio=0.1,
13+
num_classes=150,
14+
norm_cfg=norm_cfg,
15+
align_corners=False,
16+
loss_decode=dict(
17+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
18+
# model training and testing settings
19+
train_cfg=dict(),
20+
test_cfg=dict(mode='whole'))
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# model settings
2+
_base_ = './fastfcn_r50-d32_jpu_psp_512x512_160k_ade20k.py'
3+
norm_cfg = dict(type='SyncBN', requires_grad=True)
4+
model = dict(
5+
decode_head=dict(
6+
_delete_=True,
7+
type='EncHead',
8+
in_channels=[512, 1024, 2048],
9+
in_index=(0, 1, 2),
10+
channels=512,
11+
num_codes=32,
12+
use_se_loss=True,
13+
add_lateral=False,
14+
dropout_ratio=0.1,
15+
num_classes=150,
16+
norm_cfg=norm_cfg,
17+
align_corners=False,
18+
loss_decode=dict(
19+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
20+
loss_se_decode=dict(
21+
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=0.2)),
22+
# model training and testing settings
23+
train_cfg=dict(),
24+
test_cfg=dict(mode='whole'))
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# model settings
2+
_base_ = './fastfcn_r50-d32_jpu_psp_512x512_80k_ade20k.py'
3+
norm_cfg = dict(type='SyncBN', requires_grad=True)
4+
model = dict(
5+
decode_head=dict(
6+
_delete_=True,
7+
type='EncHead',
8+
in_channels=[512, 1024, 2048],
9+
in_index=(0, 1, 2),
10+
channels=512,
11+
num_codes=32,
12+
use_se_loss=True,
13+
add_lateral=False,
14+
dropout_ratio=0.1,
15+
num_classes=150,
16+
norm_cfg=norm_cfg,
17+
align_corners=False,
18+
loss_decode=dict(
19+
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
20+
loss_se_decode=dict(
21+
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=0.2)),
22+
# model training and testing settings
23+
train_cfg=dict(),
24+
test_cfg=dict(mode='whole'))
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
_base_ = [
2+
'../_base_/models/fastfcn_r50-d32_jpu_psp.py',
3+
'../_base_/datasets/ade20k.py', '../_base_/default_runtime.py',
4+
'../_base_/schedules/schedule_160k.py'
5+
]
6+
model = dict(
7+
decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150))
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
_base_ = [
2+
'../_base_/models/fastfcn_r50-d32_jpu_psp.py',
3+
'../_base_/datasets/ade20k.py', '../_base_/default_runtime.py',
4+
'../_base_/schedules/schedule_80k.py'
5+
]
6+
model = dict(
7+
decode_head=dict(num_classes=150), auxiliary_head=dict(num_classes=150))

0 commit comments

Comments
 (0)