From 0999c55813344b9f3d1471d6ce9f570081370514 Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Tue, 15 Sep 2020 14:03:48 +0800 Subject: [PATCH 01/11] Add Pascal Context to mmsegmentation --- configs/_base_/datasets/pascal_context.py | 61 +++++++++++++ .../_base_/schedules/schedule_40k_lr4e-3.py | 9 ++ .../_base_/schedules/schedule_80k_lr4e-3.py | 9 ++ configs/deeplabv3/README.md | 6 ++ ...abv3_r101-d8_480x480_40k_pascal_context.py | 2 + ...abv3_r101-d8_480x480_80k_pascal_context.py | 2 + ...labv3_r50-d8_480x480_40k_pascal_context.py | 8 ++ ...labv3_r50-d8_480x480_80k_pascal_context.py | 8 ++ configs/deeplabv3plus/README.md | 6 ++ ...plus_r101-d8_480x480_40k_pascal_context.py | 2 + ...plus_r101-d8_480x480_80k_pascal_context.py | 2 + ...3plus_r50-d8_480x480_40k_pascal_context.py | 8 ++ ...3plus_r50-d8_480x480_80k_pascal_context.py | 8 ++ .../fcn_r101-d8_480x480_40k_pascal_context.py | 2 + .../fcn_r101-d8_480x480_80k_pascal_context.py | 2 + .../fcn_r50-d8_480x480_40k_pascal_context.py | 6 ++ .../fcn_r50-d8_480x480_80k_pascal_context.py | 6 ++ configs/hrnet/README.md | 6 ++ .../fcn_hr18_480x480_40k_pascal_context.py | 6 ++ .../fcn_hr18_480x480_80k_pascal_context.py | 6 ++ .../fcn_hr18s_480x480_40k_pascal_context.py | 9 ++ .../fcn_hr18s_480x480_80k_pascal_context.py | 9 ++ .../fcn_hr48_480x480_40k_pascal_context.py | 10 +++ .../fcn_hr48_480x480_80k_pascal_context.py | 10 +++ configs/pspnet/README.md | 6 ++ ...pnet_r101-d8_480x480_40k_pascal_context.py | 2 + ...pnet_r101-d8_480x480_80k_pascal_context.py | 2 + ...spnet_r50-d8_480x480_40k_pascal_context.py | 8 ++ ...spnet_r50-d8_480x480_80k_pascal_context.py | 8 ++ mmseg/__init__.py | 2 +- mmseg/datasets/__init__.py | 3 +- mmseg/datasets/pascal_context.py | 45 ++++++++++ mmseg/models/segmentors/encoder_decoder.py | 6 +- run.sh | 15 ++++ tools/convert_datasets/pascal_context.py | 86 +++++++++++++++++++ tools/slurm_test.sh | 2 +- tools/slurm_train.sh | 2 +- tools/test.py | 11 ++- 38 files changed, 392 insertions(+), 9 deletions(-) create mode 100644 configs/_base_/datasets/pascal_context.py create mode 100644 configs/_base_/schedules/schedule_40k_lr4e-3.py create mode 100644 configs/_base_/schedules/schedule_80k_lr4e-3.py create mode 100644 configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py create mode 100644 configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py create mode 100644 configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py create mode 100644 configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py create mode 100644 configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py create mode 100644 configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py create mode 100644 configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py create mode 100644 configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py create mode 100644 configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py create mode 100644 configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py create mode 100644 configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py create mode 100644 configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py create mode 100644 configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py create mode 100644 configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py create mode 100644 configs/hrnet/fcn_hr18s_480x480_40k_pascal_context.py create mode 100644 configs/hrnet/fcn_hr18s_480x480_80k_pascal_context.py create mode 100644 configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py create mode 100644 configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py create mode 100644 configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py create mode 100644 configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py create mode 100644 configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py create mode 100644 configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py create mode 100644 mmseg/datasets/pascal_context.py create mode 100644 run.sh create mode 100644 tools/convert_datasets/pascal_context.py diff --git a/configs/_base_/datasets/pascal_context.py b/configs/_base_/datasets/pascal_context.py new file mode 100644 index 0000000000..930f2ebc08 --- /dev/null +++ b/configs/_base_/datasets/pascal_context.py @@ -0,0 +1,61 @@ +# dataset settings +dataset_type = 'PascalContextDataset' +data_root = 'data/VOCdevkit/VOC2010/' +img_norm_cfg = dict( + mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) + +img_scale = (520, 520) +crop_size = (480, 480) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations'), + dict(type='Resize', img_scale=img_scale, ratio_range=(0.5, 2.0)), + dict(type='RandomCrop', crop_size=crop_size, cat_max_ratio=0.75), + dict(type='RandomFlip', flip_ratio=0.5), + dict(type='PhotoMetricDistortion'), + dict(type='Normalize', **img_norm_cfg), + dict(type='Pad', size=crop_size, pad_val=0, seg_pad_val=255), + dict(type='DefaultFormatBundle'), + dict(type='Collect', keys=['img', 'gt_semantic_seg']), +] +test_pipeline = [ + dict(type='LoadImageFromFile'), + dict( + type='MultiScaleFlipAug', + img_scale=img_scale, + #img_ratios=[0.5, 0.75, 1.0, 1.25, 1.5, 1.75], + flip=False, + transforms=[ + dict(type='Resize', keep_ratio=True), + # dict(type='Pad', size=crop_size, pad_val=(-123.675/58.395, -116.28/57.12, -103.53/57.375), seg_pad_val=255), + dict(type='RandomFlip'), + dict(type='Normalize', **img_norm_cfg), + dict(type='ImageToTensor', keys=['img']), + dict(type='Collect', keys=['img']), + ]) +] +data = dict( + samples_per_gpu=4, + workers_per_gpu=4, + train=dict( + type=dataset_type, + data_root=data_root, + img_dir='JPEGImages', + ann_dir='SegmentationClassContext', + split='ImageSets/SegmentationContext/train.txt', + pipeline=train_pipeline), + val=dict( + type=dataset_type, + data_root=data_root, + img_dir='JPEGImages', + ann_dir='SegmentationClassContext', + split='ImageSets/SegmentationContext/val.txt', + pipeline=test_pipeline), + test=dict( + type=dataset_type, + data_root=data_root, + img_dir='JPEGImages', + ann_dir='SegmentationClassContext', + split='ImageSets/SegmentationContext/val.txt', + pipeline=test_pipeline)) diff --git a/configs/_base_/schedules/schedule_40k_lr4e-3.py b/configs/_base_/schedules/schedule_40k_lr4e-3.py new file mode 100644 index 0000000000..8aa85c2d9e --- /dev/null +++ b/configs/_base_/schedules/schedule_40k_lr4e-3.py @@ -0,0 +1,9 @@ +# optimizer +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) +optimizer_config = dict() +# learning policy +lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) +# runtime settings +total_iters = 40000 +checkpoint_config = dict(by_epoch=False, interval=4000) +evaluation = dict(interval=4000, metric='mIoU') diff --git a/configs/_base_/schedules/schedule_80k_lr4e-3.py b/configs/_base_/schedules/schedule_80k_lr4e-3.py new file mode 100644 index 0000000000..4067c4e60d --- /dev/null +++ b/configs/_base_/schedules/schedule_80k_lr4e-3.py @@ -0,0 +1,9 @@ +# optimizer +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) +optimizer_config = dict() +# learning policy +lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) +# runtime settings +total_iters = 80000 +checkpoint_config = dict(by_epoch=False, interval=8000) +evaluation = dict(interval=8000, metric='mIoU') diff --git a/configs/deeplabv3/README.md b/configs/deeplabv3/README.md index 37e2ee6baa..9acf3f4832 100644 --- a/configs/deeplabv3/README.md +++ b/configs/deeplabv3/README.md @@ -41,3 +41,9 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series | DeepLabV3 | R-101-D8 | 512x512 | 20000 | 9.6 | 9.81 | 78.70 | 79.95 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_20k_voc12aug/deeplabv3_r101-d8_512x512_20k_voc12aug_20200617_010932-8d13832f.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_20k_voc12aug/deeplabv3_r101-d8_512x512_20k_voc12aug_20200617_010932.log.json) | | DeepLabV3 | R-50-D8 | 512x512 | 40000 | - | - | 77.68 | 78.78 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_40k_voc12aug/deeplabv3_r50-d8_512x512_40k_voc12aug_20200613_161546-2ae96e7e.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r50-d8_512x512_40k_voc12aug/deeplabv3_r50-d8_512x512_40k_voc12aug_20200613_161546.log.json) | | DeepLabV3 | R-101-D8 | 512x512 | 40000 | - | - | 77.92 | 79.18 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_40k_voc12aug/deeplabv3_r101-d8_512x512_40k_voc12aug_20200613_161432-0017d784.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_512x512_40k_voc12aug/deeplabv3_r101-d8_512x512_40k_voc12aug_20200613_161432.log.json) | + +### Pascal Context +| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | +|-----------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| DeepLabV3 | R-101-D8 | 480x480 | 40000 | - | - | 46.57 | - | [model]() | [log]() | +| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | - | - | [model]() | [log]() | diff --git a/configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py b/configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..0b5256f7b7 --- /dev/null +++ b/configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './deeplabv3_r50-d8_480x480_40k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py b/configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..001b7a69c1 --- /dev/null +++ b/configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './deeplabv3_r50-d8_480x480_80k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py b/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..c59e01f6e7 --- /dev/null +++ b/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py @@ -0,0 +1,8 @@ +_base_ = [ + '../_base_/models/deeplabv3_r50-d8.py', + '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', + '../_base_/schedules/schedule_40k_lr4e-3.py' +] +model = dict( + decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py b/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..b417921aed --- /dev/null +++ b/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py @@ -0,0 +1,8 @@ +_base_ = [ + '../_base_/models/deeplabv3_r50-d8.py', + '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', + '../_base_/schedules/schedule_80k_lr4e-3.py' +] +model = dict( + decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/deeplabv3plus/README.md b/configs/deeplabv3plus/README.md index 591554daea..4639818cb9 100644 --- a/configs/deeplabv3plus/README.md +++ b/configs/deeplabv3plus/README.md @@ -41,3 +41,9 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series | DeepLabV3+ | R-101-D8 | 512x512 | 20000 | 11 | 13.88 | 77.22 | 78.59 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_512x512_20k_voc12aug/deeplabv3plus_r101-d8_512x512_20k_voc12aug_20200617_102345-c7ff3d56.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_512x512_20k_voc12aug/deeplabv3plus_r101-d8_512x512_20k_voc12aug_20200617_102345.log.json) | | DeepLabV3+ | R-50-D8 | 512x512 | 40000 | - | - | 76.81 | 77.57 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r50-d8_512x512_40k_voc12aug/deeplabv3plus_r50-d8_512x512_40k_voc12aug_20200613_161759-e1b43aa9.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r50-d8_512x512_40k_voc12aug/deeplabv3plus_r50-d8_512x512_40k_voc12aug_20200613_161759.log.json) | | DeepLabV3+ | R-101-D8 | 512x512 | 40000 | - | - | 78.62 | 79.53 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_512x512_40k_voc12aug/deeplabv3plus_r101-d8_512x512_40k_voc12aug_20200613_205333-faf03387.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_512x512_40k_voc12aug/deeplabv3plus_r101-d8_512x512_40k_voc12aug_20200613_205333.log.json) | + +#### Pascal Context +| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | +|------------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | - | 47.34 | - | [model]() | [log]() | +| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.27 | - | [model]() | [log]() | \ No newline at end of file diff --git a/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..68e2b072e4 --- /dev/null +++ b/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './deeplabv3plus_r50-d8_480x480_40k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..3a46c28608 --- /dev/null +++ b/configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './deeplabv3plus_r50-d8_480x480_80k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..8457a926e2 --- /dev/null +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py @@ -0,0 +1,8 @@ +_base_ = [ + '../_base_/models/deeplabv3plus_r50-d8.py', + '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', + '../_base_/schedules/schedule_40k_lr4e-3.py' +] +model = dict( + decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..f5af50ebe6 --- /dev/null +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py @@ -0,0 +1,8 @@ +_base_ = [ + '../_base_/models/deeplabv3plus_r50-d8.py', + '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', + '../_base_/schedules/schedule_80k_lr4e-3.py' +] +model = dict( + decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py b/configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..f3a15b4105 --- /dev/null +++ b/configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './fcn_r50-d8_480x480_40k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py b/configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..bdccfd99ba --- /dev/null +++ b/configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './fcn_r50-d8_480x480_80k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py b/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..d1a8bc7f9b --- /dev/null +++ b/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py @@ -0,0 +1,6 @@ +_base_ = [ + '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', + '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k_lr4e-3.py' +] +model = dict(decode_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py b/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..7cbac0d81f --- /dev/null +++ b/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py @@ -0,0 +1,6 @@ +_base_ = [ + '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', + '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k_lr4e-3.py' +] +model = dict(decode_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 4bb016e441..309452fc3c 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -44,3 +44,9 @@ | FCN | HRNetV2p-W18-Small | 512x512 | 40000 | - | - | 66.61 | 70.00 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr18s_512x512_40k_voc12aug/fcn_hr18s_512x512_40k_voc12aug_20200614_000648-4f8d6e7f.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr18s_512x512_40k_voc12aug/fcn_hr18s_512x512_40k_voc12aug_20200614_000648.log.json) | | FCN | HRNetV2p-W18 | 512x512 | 40000 | - | - | 72.90 | 75.59 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr18_512x512_40k_voc12aug/fcn_hr18_512x512_40k_voc12aug_20200613_224401-1b4b76cd.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr18_512x512_40k_voc12aug/fcn_hr18_512x512_40k_voc12aug_20200613_224401.log.json) | | FCN | HRNetV2p-W48 | 512x512 | 40000 | - | - | 76.24 | 78.49 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_512x512_40k_voc12aug/fcn_hr48_512x512_40k_voc12aug_20200613_222111-1b0f18bc.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_512x512_40k_voc12aug/fcn_hr48_512x512_40k_voc12aug_20200613_222111.log.json) | + +### Pascal Context +| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | +|--------|--------------------|-----------|--------:|----------|----------------|------:|--------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| FCN | HRNetV2p-W48 | 480x480 | 40000 | - | - | 45.15 | - | [model]() | [log]() | +| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 46.07 | - | [model]() | [log]() | \ No newline at end of file diff --git a/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py b/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..1e039ddba2 --- /dev/null +++ b/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py @@ -0,0 +1,6 @@ +_base_ = [ + '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', + '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k_lr4e-3.py' +] +model = dict(decode_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py b/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..bfb30ba38b --- /dev/null +++ b/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py @@ -0,0 +1,6 @@ +_base_ = [ + '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', + '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k_lr4e-3.py' +] +model = dict(decode_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/hrnet/fcn_hr18s_480x480_40k_pascal_context.py b/configs/hrnet/fcn_hr18s_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..d09931048f --- /dev/null +++ b/configs/hrnet/fcn_hr18s_480x480_40k_pascal_context.py @@ -0,0 +1,9 @@ +_base_ = './fcn_hr18_480x480_40k_pascal_context.py' +model = dict( + pretrained='open-mmlab://msra/hrnetv2_w18_small', + backbone=dict( + extra=dict( + stage1=dict(num_blocks=(2, )), + stage2=dict(num_blocks=(2, 2)), + stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), + stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) diff --git a/configs/hrnet/fcn_hr18s_480x480_80k_pascal_context.py b/configs/hrnet/fcn_hr18s_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..584b7135fd --- /dev/null +++ b/configs/hrnet/fcn_hr18s_480x480_80k_pascal_context.py @@ -0,0 +1,9 @@ +_base_ = './fcn_hr18_480x480_80k_pascal_context.py' +model = dict( + pretrained='open-mmlab://msra/hrnetv2_w18_small', + backbone=dict( + extra=dict( + stage1=dict(num_blocks=(2, )), + stage2=dict(num_blocks=(2, 2)), + stage3=dict(num_modules=3, num_blocks=(2, 2, 2)), + stage4=dict(num_modules=2, num_blocks=(2, 2, 2, 2))))) diff --git a/configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py b/configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..0e2d96cb6c --- /dev/null +++ b/configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py @@ -0,0 +1,10 @@ +_base_ = './fcn_hr18_480x480_40k_pascal_context.py' +model = dict( + pretrained='open-mmlab://msra/hrnetv2_w48', + backbone=dict( + extra=dict( + stage2=dict(num_channels=(48, 96)), + stage3=dict(num_channels=(48, 96, 192)), + stage4=dict(num_channels=(48, 96, 192, 384)))), + decode_head=dict( + in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) diff --git a/configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py b/configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..e28164e3dc --- /dev/null +++ b/configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py @@ -0,0 +1,10 @@ +_base_ = './fcn_hr18_480x480_80k_pascal_context.py' +model = dict( + pretrained='open-mmlab://msra/hrnetv2_w48', + backbone=dict( + extra=dict( + stage2=dict(num_channels=(48, 96)), + stage3=dict(num_channels=(48, 96, 192)), + stage4=dict(num_channels=(48, 96, 192, 384)))), + decode_head=dict( + in_channels=[48, 96, 192, 384], channels=sum([48, 96, 192, 384]))) diff --git a/configs/pspnet/README.md b/configs/pspnet/README.md index ec31feeb8a..d3ffa3d0d6 100644 --- a/configs/pspnet/README.md +++ b/configs/pspnet/README.md @@ -39,3 +39,9 @@ | PSPNet | R-101-D8 | 512x512 | 20000 | 9.6 | 15.02 | 78.47 | 79.25 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_20k_voc12aug/pspnet_r101-d8_512x512_20k_voc12aug_20200617_102003-4aef3c9a.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_20k_voc12aug/pspnet_r101-d8_512x512_20k_voc12aug_20200617_102003.log.json) | | PSPNet | R-50-D8 | 512x512 | 40000 | - | - | 77.29 | 78.48 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_40k_voc12aug/pspnet_r50-d8_512x512_40k_voc12aug_20200613_161222-ae9c1b8c.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x512_40k_voc12aug/pspnet_r50-d8_512x512_40k_voc12aug_20200613_161222.log.json) | | PSPNet | R-101-D8 | 512x512 | 40000 | - | - | 78.52 | 79.57 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_40k_voc12aug/pspnet_r101-d8_512x512_40k_voc12aug_20200613_161222-bc933b18.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_40k_voc12aug/pspnet_r101-d8_512x512_40k_voc12aug_20200613_161222.log.json) | + +### Pascal Context +| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | +|--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| PSPNet | R-101-D8 | 480x480 | 40000 | - | - | 46.63 | - | [model]() | [log]() | +| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 78.52 | 79.57 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_40k_voc12aug/pspnet_r101-d8_512x512_40k_voc12aug_20200613_161222-bc933b18.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_40k_voc12aug/pspnet_r101-d8_512x512_40k_voc12aug_20200613_161222.log.json) | \ No newline at end of file diff --git a/configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py b/configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..0b5a990604 --- /dev/null +++ b/configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './pspnet_r50-d8_480x480_40k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py b/configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..fda9110603 --- /dev/null +++ b/configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py @@ -0,0 +1,2 @@ +_base_ = './pspnet_r50-d8_480x480_80k_pascal_context.py' +model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101)) diff --git a/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py b/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py new file mode 100644 index 0000000000..821482b1c8 --- /dev/null +++ b/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py @@ -0,0 +1,8 @@ +_base_ = [ + '../_base_/models/pspnet_r50-d8.py', + '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', + '../_base_/schedules/schedule_40k_lr4e-3.py' +] +model = dict( + decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py b/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py new file mode 100644 index 0000000000..6ab27a84f4 --- /dev/null +++ b/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py @@ -0,0 +1,8 @@ +_base_ = [ + '../_base_/models/pspnet_r50-d8.py', + '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', + '../_base_/schedules/schedule_80k_lr4e-3.py' +] +model = dict( + decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file diff --git a/mmseg/__init__.py b/mmseg/__init__.py index 20bce069a1..69feafba3c 100644 --- a/mmseg/__init__.py +++ b/mmseg/__init__.py @@ -2,7 +2,7 @@ from .version import __version__, version_info -MMCV_MIN = '1.1.2' +MMCV_MIN = '1.1.0' MMCV_MAX = '1.2.0' diff --git a/mmseg/datasets/__init__.py b/mmseg/datasets/__init__.py index cb81b9a2eb..923f4aa6d1 100644 --- a/mmseg/datasets/__init__.py +++ b/mmseg/datasets/__init__.py @@ -4,9 +4,10 @@ from .custom import CustomDataset from .dataset_wrappers import ConcatDataset, RepeatDataset from .voc import PascalVOCDataset +from .pascal_context import PascalContextDataset __all__ = [ 'CustomDataset', 'build_dataloader', 'ConcatDataset', 'RepeatDataset', 'DATASETS', 'build_dataset', 'PIPELINES', 'CityscapesDataset', - 'PascalVOCDataset', 'ADE20KDataset' + 'PascalVOCDataset', 'ADE20KDataset', 'PascalContextDataset' ] diff --git a/mmseg/datasets/pascal_context.py b/mmseg/datasets/pascal_context.py new file mode 100644 index 0000000000..076dc4da15 --- /dev/null +++ b/mmseg/datasets/pascal_context.py @@ -0,0 +1,45 @@ +import os.path as osp + +from .builder import DATASETS +from .custom import CustomDataset + + +@DATASETS.register_module() +class PascalContextDataset(CustomDataset): + '''PascalContext dataset. + ''' + + CLASSES = ( + 'background', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', + 'car', 'cat', 'chair', 'cow', 'table', 'dog', 'horse', 'motorbike', + 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor', 'bag', + 'bed', 'bench', 'book', 'building', 'cabinet', 'ceiling', 'cloth', + 'computer', 'cup', 'door', 'fence', 'floor', 'flower', 'food', + 'grass', 'ground', 'keyboard', 'light', 'mountain', 'mouse', + 'curtain', 'platform', 'sign', 'plate', 'road', 'rock', 'shelves', + 'sidewalk', 'sky', 'snow', 'bedclothes', 'track', 'tree', 'truck', + 'wall', 'water', 'window', 'wood') + + ''' + PALETTE is testing + ''' + PALETTE = [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50], + [4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255], + [230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7], + [150, 5, 61], [120, 120, 70], [8, 255, 51], [255, 6, 82], + [143, 255, 140], [204, 255, 4], [255, 51, 7], [204, 70, 3], + [0, 102, 200], [61, 230, 250], [255, 6, 51], [11, 102, 255], + [255, 7, 71], [255, 9, 224], [9, 7, 230], [220, 220, 220], + [255, 9, 92], [112, 9, 255], [8, 255, 214], [7, 255, 224], + [255, 184, 6], [10, 255, 71], [255, 41, 10], [7, 255, 255], + [224, 255, 8], [102, 8, 255], [255, 61, 6], [255, 194, 7], + [255, 122, 8], [0, 255, 20], [255, 8, 41], [255, 5, 153], + [6, 51, 255], [235, 12, 255], [160, 150, 20], [0, 163, 255], + [140, 140, 140], [250, 10, 15], [20, 255, 0], [31, 255, 0], + [255, 31, 0], [255, 224, 0], [153, 255, 0], [0, 0, 255], + [255, 71, 0], [0, 235, 255], [0, 173, 255], [31, 0, 255]] + + def __init__(self, split, **kwargs): + super(PascalContextDataset, self).__init__( + img_suffix='.jpg', seg_map_suffix='.png', split=split, **kwargs) + assert osp.exists(self.img_dir) and self.split is not None diff --git a/mmseg/models/segmentors/encoder_decoder.py b/mmseg/models/segmentors/encoder_decoder.py index 3e11630e25..fc6d26d8a1 100644 --- a/mmseg/models/segmentors/encoder_decoder.py +++ b/mmseg/models/segmentors/encoder_decoder.py @@ -91,7 +91,7 @@ def encode_decode(self, img, img_metas): size=img.shape[2:], mode='bilinear', align_corners=self.align_corners) - return out + return out.exp() def _decode_head_forward_train(self, x, img_metas, gt_semantic_seg): """Run forward function and calculate loss for decode head in @@ -172,8 +172,8 @@ def slide_inference(self, img, img_meta, rescale): h_stride, w_stride = self.test_cfg.stride h_crop, w_crop = self.test_cfg.crop_size batch_size, _, h_img, w_img = img.size() - assert h_crop <= h_img and w_crop <= w_img, ( - 'crop size should not greater than image size') + # assert h_crop <= h_img and w_crop <= w_img, ( + # 'crop size should not greater than image size') num_classes = self.num_classes h_grids = max(h_img - h_crop + h_stride - 1, 0) // h_stride + 1 w_grids = max(w_img - w_crop + w_stride - 1, 0) // w_stride + 1 diff --git a/run.sh b/run.sh new file mode 100644 index 0000000000..fc9fe16373 --- /dev/null +++ b/run.sh @@ -0,0 +1,15 @@ +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf pr_test configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py --seed=0 +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf v3+_pc configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py --seed=0 +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf v3_pc configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py --seed=0 --options model.backbone.with_cp=True +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf psp_pc configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py --seed=0 +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf fcn_pc configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py --seed=0 + + +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 pr_test configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py --seed=0 +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 v3+_pc configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py --seed=0 +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 v3_pc configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py --seed=0 --options model.backbone.with_cp=True +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 psp_pc configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py --seed=0 +GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 fcn_pc configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py --seed=0 + +# # test +# GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_test.sh Test test configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py /mnt/lustre/yamengxi/noob/mmsegmentation/bbb.pth --tmpdir tmpdir --eval mIoU diff --git a/tools/convert_datasets/pascal_context.py b/tools/convert_datasets/pascal_context.py new file mode 100644 index 0000000000..e0a97ce26b --- /dev/null +++ b/tools/convert_datasets/pascal_context.py @@ -0,0 +1,86 @@ +import argparse +import os.path as osp +from functools import partial + +import mmcv +import numpy as np +from detail import Detail +from PIL import Image + +_mapping = np.sort( + np.array([ + 0, 2, 259, 260, 415, 324, 9, 258, 144, 18, 19, 22, 23, 397, 25, 284, + 158, 159, 416, 33, 162, 420, 454, 295, 296, 427, 44, 45, 46, 308, 59, + 440, 445, 31, 232, 65, 354, 424, 68, 326, 72, 458, 34, 207, 80, 355, + 85, 347, 220, 349, 360, 98, 187, 104, 105, 366, 189, 368, 113, 115 + ])) +_key = np.array(range(len(_mapping))).astype('uint8') + + +def generate_labels(img_id, detail, out_dir): + + def _class_to_index(mask, _mapping, _key): + # assert the values + values = np.unique(mask) + for i in range(len(values)): + assert (values[i] in _mapping) + index = np.digitize(mask.ravel(), _mapping, right=True) + return _key[index].reshape(mask.shape) + + mask = Image.fromarray( + _class_to_index(detail.getMask(img_id), _mapping=_mapping, _key=_key)) + filename = img_id['file_name'] + mask.save(osp.join(out_dir, filename.replace('jpg', 'png'))) + return osp.splitext(osp.basename(filename))[0] + + +def parse_args(): + parser = argparse.ArgumentParser( + description='Convert PASCAL VOC annotations to mmdetection format') + parser.add_argument('devkit_path', help='pascal voc devkit path') + parser.add_argument('json_path', help='annoation json filepath') + parser.add_argument('-o', '--out_dir', help='output path') + args = parser.parse_args() + return args + + +def main(): + args = parse_args() + devkit_path = args.devkit_path + if args.out_dir is None: + out_dir = osp.join(devkit_path, 'VOC2010', 'SegmentationClassContext') + else: + out_dir = args.out_dir + json_path = args.json_path + mmcv.mkdir_or_exist(out_dir) + img_dir = osp.join(devkit_path, 'VOC2010', 'JPEGImages') + + train_detail = Detail(json_path, img_dir, 'train') + train_ids = train_detail.getImgs() + + val_detail = Detail(json_path, img_dir, 'val') + val_ids = val_detail.getImgs() + + mmcv.mkdir_or_exist( + osp.join(devkit_path, 'VOC2010/ImageSets/SegmentationContext')) + + train_list = mmcv.track_progress( + partial(generate_labels, detail=train_detail, out_dir=out_dir), + train_ids) + with open( + osp.join(devkit_path, 'VOC2010/ImageSets/SegmentationContext', + 'train.txt'), 'w') as f: + f.writelines(line + '\n' for line in sorted(train_list)) + + val_list = mmcv.track_progress( + partial(generate_labels, detail=val_detail, out_dir=out_dir), val_ids) + with open( + osp.join(devkit_path, 'VOC2010/ImageSets/SegmentationContext', + 'val.txt'), 'w') as f: + f.writelines(line + '\n' for line in sorted(val_list)) + + print('Done!') + + +if __name__ == '__main__': + main() diff --git a/tools/slurm_test.sh b/tools/slurm_test.sh index 4e6f7bf4e3..51dc88799e 100755 --- a/tools/slurm_test.sh +++ b/tools/slurm_test.sh @@ -21,4 +21,4 @@ srun -p ${PARTITION} \ --cpus-per-task=${CPUS_PER_TASK} \ --kill-on-bad-exit=1 \ ${SRUN_ARGS} \ - python -u tools/test.py ${CONFIG} ${CHECKPOINT} --launcher="slurm" ${PY_ARGS} + python -u tools/test.py ${CONFIG} ${CHECKPOINT} --launcher="slurm" ${PY_ARGS} & diff --git a/tools/slurm_train.sh b/tools/slurm_train.sh index ab232105f0..5bbe5cfb75 100755 --- a/tools/slurm_train.sh +++ b/tools/slurm_train.sh @@ -20,4 +20,4 @@ srun -p ${PARTITION} \ --cpus-per-task=${CPUS_PER_TASK} \ --kill-on-bad-exit=1 \ ${SRUN_ARGS} \ - python -u tools/train.py ${CONFIG} --launcher="slurm" ${PY_ARGS} + python -u tools/train.py ${CONFIG} --launcher="slurm" ${PY_ARGS} & diff --git a/tools/test.py b/tools/test.py index 3910f1f0bb..e5a24e2fc1 100644 --- a/tools/test.py +++ b/tools/test.py @@ -112,8 +112,15 @@ def main(): # build the model and load checkpoint model = build_segmentor(cfg.model, train_cfg=None, test_cfg=cfg.test_cfg) checkpoint = load_checkpoint(model, args.checkpoint, map_location='cpu') - model.CLASSES = checkpoint['meta']['CLASSES'] - model.PALETTE = checkpoint['meta']['PALETTE'] + if 'CLASSES' not in checkpoint['meta']: + model.CLASSES = dataset.CLASSES + else: + model.CLASSES = checkpoint['meta']['CLASSES'] + + if 'PALETTE' not in checkpoint['meta']: + model.PALETTE = dataset.PALETTE + else: + model.PALETTE = checkpoint['meta']['PALETTE'] if not distributed: model = MMDataParallel(model, device_ids=[0]) From 1c288b1a415ca25421749b20d8119422a1c0cc42 Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Thu, 17 Sep 2020 14:26:17 +0800 Subject: [PATCH 02/11] Add benchmark result to Pascal Context --- .../_base_/schedules/schedule_40k_lr4e-3.py | 9 ---- .../_base_/schedules/schedule_80k_lr4e-3.py | 9 ---- configs/deeplabv3/README.md | 4 +- ...labv3_r50-d8_480x480_40k_pascal_context.py | 5 ++- ...labv3_r50-d8_480x480_80k_pascal_context.py | 5 ++- configs/deeplabv3plus/README.md | 4 +- ...3plus_r50-d8_480x480_40k_pascal_context.py | 5 ++- ...3plus_r50-d8_480x480_80k_pascal_context.py | 5 ++- configs/fcn/README.md | 6 +++ .../fcn_r50-d8_480x480_40k_pascal_context.py | 5 ++- .../fcn_r50-d8_480x480_80k_pascal_context.py | 5 ++- configs/hrnet/README.md | 4 +- .../fcn_hr18_480x480_40k_pascal_context.py | 5 ++- .../fcn_hr18_480x480_80k_pascal_context.py | 5 ++- configs/pspnet/README.md | 4 +- ...spnet_r50-d8_480x480_40k_pascal_context.py | 5 ++- ...spnet_r50-d8_480x480_80k_pascal_context.py | 5 ++- docs/getting_started.md | 19 ++++++++ mmseg/datasets/pascal_context.py | 45 +++++++++++-------- mmseg/models/segmentors/encoder_decoder.py | 10 +++-- run.sh | 15 ------- setup.cfg | 2 +- tools/slurm_test.sh | 2 +- tools/slurm_train.sh | 2 +- tools/test.py | 11 +---- 25 files changed, 101 insertions(+), 95 deletions(-) delete mode 100644 configs/_base_/schedules/schedule_40k_lr4e-3.py delete mode 100644 configs/_base_/schedules/schedule_80k_lr4e-3.py delete mode 100644 run.sh diff --git a/configs/_base_/schedules/schedule_40k_lr4e-3.py b/configs/_base_/schedules/schedule_40k_lr4e-3.py deleted file mode 100644 index 8aa85c2d9e..0000000000 --- a/configs/_base_/schedules/schedule_40k_lr4e-3.py +++ /dev/null @@ -1,9 +0,0 @@ -# optimizer -optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) -optimizer_config = dict() -# learning policy -lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) -# runtime settings -total_iters = 40000 -checkpoint_config = dict(by_epoch=False, interval=4000) -evaluation = dict(interval=4000, metric='mIoU') diff --git a/configs/_base_/schedules/schedule_80k_lr4e-3.py b/configs/_base_/schedules/schedule_80k_lr4e-3.py deleted file mode 100644 index 4067c4e60d..0000000000 --- a/configs/_base_/schedules/schedule_80k_lr4e-3.py +++ /dev/null @@ -1,9 +0,0 @@ -# optimizer -optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) -optimizer_config = dict() -# learning policy -lr_config = dict(policy='poly', power=0.9, min_lr=1e-4, by_epoch=False) -# runtime settings -total_iters = 80000 -checkpoint_config = dict(by_epoch=False, interval=8000) -evaluation = dict(interval=8000, metric='mIoU') diff --git a/configs/deeplabv3/README.md b/configs/deeplabv3/README.md index 9acf3f4832..d6e41b13fe 100644 --- a/configs/deeplabv3/README.md +++ b/configs/deeplabv3/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |-----------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3 | R-101-D8 | 480x480 | 40000 | - | - | 46.57 | - | [model]() | [log]() | -| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | - | - | [model]() | [log]() | +| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context-20200911_204118.log.json) | +| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 46.42 | 47.53 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155-2a21fff3.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155.log.json) | diff --git a/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py b/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py index c59e01f6e7..0cdb262833 100644 --- a/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py +++ b/configs/deeplabv3/deeplabv3_r50-d8_480x480_40k_pascal_context.py @@ -1,8 +1,9 @@ _base_ = [ '../_base_/models/deeplabv3_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_40k_lr4e-3.py' + '../_base_/schedules/schedule_40k.py' ] model = dict( decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py b/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py index b417921aed..84e831a7be 100644 --- a/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py +++ b/configs/deeplabv3/deeplabv3_r50-d8_480x480_80k_pascal_context.py @@ -1,8 +1,9 @@ _base_ = [ '../_base_/models/deeplabv3_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_80k_lr4e-3.py' + '../_base_/schedules/schedule_80k.py' ] model = dict( decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3plus/README.md b/configs/deeplabv3plus/README.md index 4639818cb9..cdfaba1f86 100644 --- a/configs/deeplabv3plus/README.md +++ b/configs/deeplabv3plus/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series #### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |------------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | - | 47.34 | - | [model]() | [log]() | -| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.27 | - | [model]() | [log]() | \ No newline at end of file +| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | 9.09 | 47.30 | 48.47 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459-d3c8a29e.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context-20200911_165459.log.json) | +| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.23 | 48.26 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322-145d3ee8.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context-20200911_155322.log.json) | diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py index 8457a926e2..ee548fb014 100644 --- a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_40k_pascal_context.py @@ -1,8 +1,9 @@ _base_ = [ '../_base_/models/deeplabv3plus_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_40k_lr4e-3.py' + '../_base_/schedules/schedule_40k.py' ] model = dict( decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py index f5af50ebe6..604cf2bf5e 100644 --- a/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py +++ b/configs/deeplabv3plus/deeplabv3plus_r50-d8_480x480_80k_pascal_context.py @@ -1,8 +1,9 @@ _base_ = [ '../_base_/models/deeplabv3plus_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_80k_lr4e-3.py' + '../_base_/schedules/schedule_80k.py' ] model = dict( decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/fcn/README.md b/configs/fcn/README.md index 6ec2080123..25c966c183 100644 --- a/configs/fcn/README.md +++ b/configs/fcn/README.md @@ -43,3 +43,9 @@ | FCN | R-101-D8 | 512x512 | 20000 | 9.2 | 14.81 | 71.16 | 73.57 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_512x512_20k_voc12aug/fcn_r101-d8_512x512_20k_voc12aug_20200617_010842-0bb4e798.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_512x512_20k_voc12aug/fcn_r101-d8_512x512_20k_voc12aug_20200617_010842.log.json) | | FCN | R-50-D8 | 512x512 | 40000 | - | - | 66.97 | 69.04 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r50-d8_512x512_40k_voc12aug/fcn_r50-d8_512x512_40k_voc12aug_20200613_161222-5e2dbf40.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r50-d8_512x512_40k_voc12aug/fcn_r50-d8_512x512_40k_voc12aug_20200613_161222.log.json) | | FCN | R-101-D8 | 512x512 | 40000 | - | - | 69.91 | 72.38 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_512x512_40k_voc12aug/fcn_r101-d8_512x512_40k_voc12aug_20200613_161240-4c8bcefd.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_512x512_40k_voc12aug/fcn_r101-d8_512x512_40k_voc12aug_20200613_161240.log.json) | + +### Pascal Context +| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | +|--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| FCN | R-101-D8 | 480x480 | 40000 | - | 9.93 | 44.14 | 45.67 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515-9b565a6d.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | +| FCN | R-101-D8 | 480x480 | 80000 | - | - | 44.47 | 45.74 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644-a3828480.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | diff --git a/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py b/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py index d1a8bc7f9b..d124fbf00d 100644 --- a/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py +++ b/configs/fcn/fcn_r50-d8_480x480_40k_pascal_context.py @@ -1,6 +1,7 @@ _base_ = [ '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', - '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k_lr4e-3.py' + '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py b/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py index 7cbac0d81f..d84f1c8aaf 100644 --- a/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py +++ b/configs/fcn/fcn_r50-d8_480x480_80k_pascal_context.py @@ -1,6 +1,7 @@ _base_ = [ '../_base_/models/fcn_r50-d8.py', '../_base_/datasets/pascal_context.py', - '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k_lr4e-3.py' + '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' ] model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 309452fc3c..450d8056fd 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -48,5 +48,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|--------------------|-----------|--------:|----------|----------------|------:|--------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| FCN | HRNetV2p-W48 | 480x480 | 40000 | - | - | 45.15 | - | [model]() | [log]() | -| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 46.07 | - | [model]() | [log]() | \ No newline at end of file +| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | diff --git a/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py b/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py index 1e039ddba2..54a412e52c 100644 --- a/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py +++ b/configs/hrnet/fcn_hr18_480x480_40k_pascal_context.py @@ -1,6 +1,7 @@ _base_ = [ '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', - '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k_lr4e-3.py' + '../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py' ] model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py b/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py index bfb30ba38b..2dfba8732b 100644 --- a/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py +++ b/configs/hrnet/fcn_hr18_480x480_80k_pascal_context.py @@ -1,6 +1,7 @@ _base_ = [ '../_base_/models/fcn_hr18.py', '../_base_/datasets/pascal_context.py', - '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k_lr4e-3.py' + '../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py' ] model = dict(decode_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/pspnet/README.md b/configs/pspnet/README.md index d3ffa3d0d6..304804baa9 100644 --- a/configs/pspnet/README.md +++ b/configs/pspnet/README.md @@ -43,5 +43,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| PSPNet | R-101-D8 | 480x480 | 40000 | - | - | 46.63 | - | [model]() | [log]() | -| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 78.52 | 79.57 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_40k_voc12aug/pspnet_r101-d8_512x512_40k_voc12aug_20200613_161222-bc933b18.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_512x512_40k_voc12aug/pspnet_r101-d8_512x512_40k_voc12aug_20200613_161222.log.json) | \ No newline at end of file +| PSPNet | R-101-D8 | 480x480 | 40000 | 8.8 | 9.68 | 46.60 | 47.78 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210-bf0f5d7c.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context-20200911_211210.log.json) | +| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 46.03 | 47.15 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530-c86d6233.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context-20200911_190530.log.json) | diff --git a/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py b/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py index 821482b1c8..86da94de5b 100644 --- a/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py +++ b/configs/pspnet/pspnet_r50-d8_480x480_40k_pascal_context.py @@ -1,8 +1,9 @@ _base_ = [ '../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_40k_lr4e-3.py' + '../_base_/schedules/schedule_40k.py' ] model = dict( decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py b/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py index 6ab27a84f4..cbb02714b9 100644 --- a/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py +++ b/configs/pspnet/pspnet_r50-d8_480x480_80k_pascal_context.py @@ -1,8 +1,9 @@ _base_ = [ '../_base_/models/pspnet_r50-d8.py', '../_base_/datasets/pascal_context.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_80k_lr4e-3.py' + '../_base_/schedules/schedule_80k.py' ] model = dict( decode_head=dict(num_classes=60), auxiliary_head=dict(num_classes=60)) -test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) \ No newline at end of file +test_cfg = dict(mode='slide', crop_size=(480, 480), stride=(320, 320)) +optimizer = dict(type='SGD', lr=0.004, momentum=0.9, weight_decay=0.0001) diff --git a/docs/getting_started.md b/docs/getting_started.md index 892060d00b..35ba57b5b2 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -27,6 +27,14 @@ mmsegmentation │ │ │ ├── SegmentationClass │ │ │ ├── ImageSets │ │ │ │ ├── Segmentation +│ │ ├── VOC2010 +│ │ │ ├── JPEGImages +│ │ │ ├── SegmentationClassContext +│ │ │ ├── ImageSets +│ │ │ │ ├── SegmentationContext +│ │ │ │ │ ├── train.txt +│ │ │ │ │ ├── val.txt +│ │ │ ├── trainval_merged.json │ │ ├── VOCaug │ │ │ ├── dataset │ │ │ │ ├── cls @@ -69,6 +77,17 @@ Please refer to [concat dataset](https://github.com/open-mmlab/mmsegmentation/bl The training and validation set of ADE20K could be download from this [link](http://data.csail.mit.edu/places/ADEchallenge/ADEChallengeData2016.zip). We may also download test set from [here](http://data.csail.mit.edu/places/ADEchallenge/ADEChallengeData2016.zip). +### Pascal Context +The training and validation set of Pascal Context could be download from [here](http://host.robots.ox.ac.uk/pascal/VOC/voc2010/VOCtrainval_03-May-2010.tar). You may also download test set from [here](http://host.robots.ox.ac.uk:8080/eval/downloads/VOC2010test.tar) after registration. + +To split the training and validation set from original dataset, you may download trainval_merged.json from [here](https://codalabuser.blob.core.windows.net/public/trainval_merged.json). + +If you would like to use Pascal Context dataset, please install [Detail](https://github.com/ccvl/detail-api) and then run the following command to convert annotations into proper format. + +```shell +python tools/convert_datasets/pascal_context.py data/VOCdevkit data/VOCdevkit/VOC2010/trainval_merged.json +``` + ## Inference with pretrained models We provide testing scripts to evaluate a whole dataset (Cityscapes, PASCAL VOC, ADE20k, etc.), diff --git a/mmseg/datasets/pascal_context.py b/mmseg/datasets/pascal_context.py index 076dc4da15..ab42877f1e 100644 --- a/mmseg/datasets/pascal_context.py +++ b/mmseg/datasets/pascal_context.py @@ -6,23 +6,28 @@ @DATASETS.register_module() class PascalContextDataset(CustomDataset): - '''PascalContext dataset. - ''' - - CLASSES = ( - 'background', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', - 'car', 'cat', 'chair', 'cow', 'table', 'dog', 'horse', 'motorbike', - 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor', 'bag', - 'bed', 'bench', 'book', 'building', 'cabinet', 'ceiling', 'cloth', - 'computer', 'cup', 'door', 'fence', 'floor', 'flower', 'food', - 'grass', 'ground', 'keyboard', 'light', 'mountain', 'mouse', - 'curtain', 'platform', 'sign', 'plate', 'road', 'rock', 'shelves', - 'sidewalk', 'sky', 'snow', 'bedclothes', 'track', 'tree', 'truck', - 'wall', 'water', 'window', 'wood') - - ''' - PALETTE is testing - ''' + """PascalContext dataset. + + In segmentation map annotation for PascalContext, 0 stands for background, + which is included in 60 categories. ``reduce_zero_label`` is fixed to + False. The ``img_suffix`` is fixed to '.jpg' and ``seg_map_suffix`` is + fixed to '.png'. + + Args: + split (str): Split txt file for PascalContext. + """ + + CLASSES = ('background', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', + 'bus', 'car', 'cat', 'chair', 'cow', 'table', 'dog', 'horse', + 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', + 'tvmonitor', 'bag', 'bed', 'bench', 'book', 'building', + 'cabinet', 'ceiling', 'cloth', 'computer', 'cup', 'door', + 'fence', 'floor', 'flower', 'food', 'grass', 'ground', + 'keyboard', 'light', 'mountain', 'mouse', 'curtain', 'platform', + 'sign', 'plate', 'road', 'rock', 'shelves', 'sidewalk', 'sky', + 'snow', 'bedclothes', 'track', 'tree', 'truck', 'wall', 'water', + 'window', 'wood') + PALETTE = [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50], [4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255], [230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7], @@ -41,5 +46,9 @@ class PascalContextDataset(CustomDataset): def __init__(self, split, **kwargs): super(PascalContextDataset, self).__init__( - img_suffix='.jpg', seg_map_suffix='.png', split=split, **kwargs) + img_suffix='.jpg', + seg_map_suffix='.png', + split=split, + reduce_zero_label=False, + **kwargs) assert osp.exists(self.img_dir) and self.split is not None diff --git a/mmseg/models/segmentors/encoder_decoder.py b/mmseg/models/segmentors/encoder_decoder.py index fc6d26d8a1..fe4f25e5d9 100644 --- a/mmseg/models/segmentors/encoder_decoder.py +++ b/mmseg/models/segmentors/encoder_decoder.py @@ -91,7 +91,7 @@ def encode_decode(self, img, img_metas): size=img.shape[2:], mode='bilinear', align_corners=self.align_corners) - return out.exp() + return out def _decode_head_forward_train(self, x, img_metas, gt_semantic_seg): """Run forward function and calculate loss for decode head in @@ -167,13 +167,15 @@ def forward_train(self, img, img_metas, gt_semantic_seg): # TODO refactor def slide_inference(self, img, img_meta, rescale): - """Inference by sliding-window with overlap.""" + """Inference by sliding-window with overlap. + + If h_crop > h_img or w_crop > w_img, we will not pad the crop_img but + send a smaller crop_img to encode_decode. + """ h_stride, w_stride = self.test_cfg.stride h_crop, w_crop = self.test_cfg.crop_size batch_size, _, h_img, w_img = img.size() - # assert h_crop <= h_img and w_crop <= w_img, ( - # 'crop size should not greater than image size') num_classes = self.num_classes h_grids = max(h_img - h_crop + h_stride - 1, 0) // h_stride + 1 w_grids = max(w_img - w_crop + w_stride - 1, 0) // w_stride + 1 diff --git a/run.sh b/run.sh deleted file mode 100644 index fc9fe16373..0000000000 --- a/run.sh +++ /dev/null @@ -1,15 +0,0 @@ -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf pr_test configs/hrnet/fcn_hr48_480x480_40k_pascal_context.py --seed=0 -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf v3+_pc configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context.py --seed=0 -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf v3_pc configs/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context.py --seed=0 --options model.backbone.with_cp=True -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf psp_pc configs/pspnet/pspnet_r101-d8_480x480_40k_pascal_context.py --seed=0 -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf fcn_pc configs/fcn/fcn_r101-d8_480x480_40k_pascal_context.py --seed=0 - - -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 pr_test configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py --seed=0 -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 v3+_pc configs/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context.py --seed=0 -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 v3_pc configs/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context.py --seed=0 --options model.backbone.with_cp=True -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 psp_pc configs/pspnet/pspnet_r101-d8_480x480_80k_pascal_context.py --seed=0 -GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_train.sh mediaf1 fcn_pc configs/fcn/fcn_r101-d8_480x480_80k_pascal_context.py --seed=0 - -# # test -# GPUS=8 GPUS_PER_NODE=8 CPUS_PER_TASK=1 tools/slurm_test.sh Test test configs/hrnet/fcn_hr48_480x480_80k_pascal_context.py /mnt/lustre/yamengxi/noob/mmsegmentation/bbb.pth --tmpdir tmpdir --eval mIoU diff --git a/setup.cfg b/setup.cfg index 9721e1c5c3..1ae770342b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,6 +8,6 @@ line_length = 79 multi_line_output = 0 known_standard_library = setuptools known_first_party = mmseg -known_third_party = PIL,cityscapesscripts,cv2,matplotlib,mmcv,numpy,onnxruntime,pytablewriter,pytest,scipy,torch,torchvision +known_third_party = PIL,cityscapesscripts,cv2,detail,matplotlib,mmcv,numpy,onnxruntime,pytablewriter,pytest,scipy,torch,torchvision no_lines_before = STDLIB,LOCALFOLDER default_section = THIRDPARTY diff --git a/tools/slurm_test.sh b/tools/slurm_test.sh index 51dc88799e..4e6f7bf4e3 100755 --- a/tools/slurm_test.sh +++ b/tools/slurm_test.sh @@ -21,4 +21,4 @@ srun -p ${PARTITION} \ --cpus-per-task=${CPUS_PER_TASK} \ --kill-on-bad-exit=1 \ ${SRUN_ARGS} \ - python -u tools/test.py ${CONFIG} ${CHECKPOINT} --launcher="slurm" ${PY_ARGS} & + python -u tools/test.py ${CONFIG} ${CHECKPOINT} --launcher="slurm" ${PY_ARGS} diff --git a/tools/slurm_train.sh b/tools/slurm_train.sh index 5bbe5cfb75..ab232105f0 100755 --- a/tools/slurm_train.sh +++ b/tools/slurm_train.sh @@ -20,4 +20,4 @@ srun -p ${PARTITION} \ --cpus-per-task=${CPUS_PER_TASK} \ --kill-on-bad-exit=1 \ ${SRUN_ARGS} \ - python -u tools/train.py ${CONFIG} --launcher="slurm" ${PY_ARGS} & + python -u tools/train.py ${CONFIG} --launcher="slurm" ${PY_ARGS} diff --git a/tools/test.py b/tools/test.py index e5a24e2fc1..3910f1f0bb 100644 --- a/tools/test.py +++ b/tools/test.py @@ -112,15 +112,8 @@ def main(): # build the model and load checkpoint model = build_segmentor(cfg.model, train_cfg=None, test_cfg=cfg.test_cfg) checkpoint = load_checkpoint(model, args.checkpoint, map_location='cpu') - if 'CLASSES' not in checkpoint['meta']: - model.CLASSES = dataset.CLASSES - else: - model.CLASSES = checkpoint['meta']['CLASSES'] - - if 'PALETTE' not in checkpoint['meta']: - model.PALETTE = dataset.PALETTE - else: - model.PALETTE = checkpoint['meta']['PALETTE'] + model.CLASSES = checkpoint['meta']['CLASSES'] + model.PALETTE = checkpoint['meta']['PALETTE'] if not distributed: model = MMDataParallel(model, device_ids=[0]) From 1efff53ef63c6411ac43d3931efe307f79cbfa7d Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Thu, 17 Sep 2020 14:33:00 +0800 Subject: [PATCH 03/11] fix mmcv version --- mmseg/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmseg/__init__.py b/mmseg/__init__.py index 69feafba3c..20bce069a1 100644 --- a/mmseg/__init__.py +++ b/mmseg/__init__.py @@ -2,7 +2,7 @@ from .version import __version__, version_info -MMCV_MIN = '1.1.0' +MMCV_MIN = '1.1.2' MMCV_MAX = '1.2.0' From ed023912c167e5a83b44b538956702b1ccd8eaaf Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Thu, 17 Sep 2020 14:51:56 +0800 Subject: [PATCH 04/11] fix code syntax --- configs/_base_/datasets/pascal_context.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/_base_/datasets/pascal_context.py b/configs/_base_/datasets/pascal_context.py index 930f2ebc08..a00e474cf6 100644 --- a/configs/_base_/datasets/pascal_context.py +++ b/configs/_base_/datasets/pascal_context.py @@ -24,11 +24,10 @@ dict( type='MultiScaleFlipAug', img_scale=img_scale, - #img_ratios=[0.5, 0.75, 1.0, 1.25, 1.5, 1.75], + # img_ratios=[0.5, 0.75, 1.0, 1.25, 1.5, 1.75], flip=False, transforms=[ dict(type='Resize', keep_ratio=True), - # dict(type='Pad', size=crop_size, pad_val=(-123.675/58.395, -116.28/57.12, -103.53/57.375), seg_pad_val=255), dict(type='RandomFlip'), dict(type='Normalize', **img_norm_cfg), dict(type='ImageToTensor', keys=['img']), From f5496901408ad78724995ea81efb86159355dc24 Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Thu, 17 Sep 2020 15:03:57 +0800 Subject: [PATCH 05/11] fix code syntax again --- mmseg/datasets/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmseg/datasets/__init__.py b/mmseg/datasets/__init__.py index 923f4aa6d1..dd4705c3e4 100644 --- a/mmseg/datasets/__init__.py +++ b/mmseg/datasets/__init__.py @@ -3,8 +3,8 @@ from .cityscapes import CityscapesDataset from .custom import CustomDataset from .dataset_wrappers import ConcatDataset, RepeatDataset -from .voc import PascalVOCDataset from .pascal_context import PascalContextDataset +from .voc import PascalVOCDataset __all__ = [ 'CustomDataset', 'build_dataloader', 'ConcatDataset', 'RepeatDataset', From 4ec3d856d92901e289b2d18fb29affd5ecd9f6a0 Mon Sep 17 00:00:00 2001 From: yamengxi <49829199+yamengxi@users.noreply.github.com> Date: Fri, 18 Sep 2020 11:16:16 +0800 Subject: [PATCH 06/11] Update mmseg/models/segmentors/encoder_decoder.py update hint Co-authored-by: Jerry Jiarui XU --- mmseg/models/segmentors/encoder_decoder.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mmseg/models/segmentors/encoder_decoder.py b/mmseg/models/segmentors/encoder_decoder.py index fe4f25e5d9..123bc14b3e 100644 --- a/mmseg/models/segmentors/encoder_decoder.py +++ b/mmseg/models/segmentors/encoder_decoder.py @@ -169,8 +169,7 @@ def forward_train(self, img, img_metas, gt_semantic_seg): def slide_inference(self, img, img_meta, rescale): """Inference by sliding-window with overlap. - If h_crop > h_img or w_crop > w_img, we will not pad the crop_img but - send a smaller crop_img to encode_decode. + If h_crop > h_img or w_crop > w_img, the small patch will be used to decode without padding. """ h_stride, w_stride = self.test_cfg.stride From 496cd83478c8d1ff1708620336e12d6d9d41644a Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Fri, 18 Sep 2020 11:20:05 +0800 Subject: [PATCH 07/11] update comment --- mmseg/models/segmentors/encoder_decoder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mmseg/models/segmentors/encoder_decoder.py b/mmseg/models/segmentors/encoder_decoder.py index fe4f25e5d9..9adf65bd02 100644 --- a/mmseg/models/segmentors/encoder_decoder.py +++ b/mmseg/models/segmentors/encoder_decoder.py @@ -169,8 +169,8 @@ def forward_train(self, img, img_metas, gt_semantic_seg): def slide_inference(self, img, img_meta, rescale): """Inference by sliding-window with overlap. - If h_crop > h_img or w_crop > w_img, we will not pad the crop_img but - send a smaller crop_img to encode_decode. + If h_crop > h_img or w_crop > w_img, the small patch will be used to + decode without padding. """ h_stride, w_stride = self.test_cfg.stride From cb4b6b616c38b0bdab0f54e4a0ebcbd5638d51e4 Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Tue, 22 Sep 2020 12:35:55 +0800 Subject: [PATCH 08/11] fix pascal context model path --- configs/deeplabv3/README.md | 2 +- configs/deeplabv3plus/README.md | 4 ++-- configs/fcn/README.md | 4 ++-- configs/hrnet/README.md | 4 ++-- configs/pspnet/README.md | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/configs/deeplabv3/README.md b/configs/deeplabv3/README.md index d6e41b13fe..67eadd9c87 100644 --- a/configs/deeplabv3/README.md +++ b/configs/deeplabv3/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |-----------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context-20200911_204118.log.json) | +| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118.log.json) | | DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 46.42 | 47.53 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155-2a21fff3.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155.log.json) | diff --git a/configs/deeplabv3plus/README.md b/configs/deeplabv3plus/README.md index cdfaba1f86..0237e704a2 100644 --- a/configs/deeplabv3plus/README.md +++ b/configs/deeplabv3plus/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series #### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |------------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | 9.09 | 47.30 | 48.47 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459-d3c8a29e.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context-20200911_165459.log.json) | -| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.23 | 48.26 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322-145d3ee8.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context-20200911_155322.log.json) | +| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | 9.09 | 47.30 | 48.47 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459-d3c8a29e.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459.log.json) | +| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.23 | 48.26 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322-145d3ee8.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322.log.json) | diff --git a/configs/fcn/README.md b/configs/fcn/README.md index 25c966c183..0a9fee2631 100644 --- a/configs/fcn/README.md +++ b/configs/fcn/README.md @@ -47,5 +47,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| FCN | R-101-D8 | 480x480 | 40000 | - | 9.93 | 44.14 | 45.67 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515-9b565a6d.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | -| FCN | R-101-D8 | 480x480 | 80000 | - | - | 44.47 | 45.74 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644-a3828480.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | +| FCN | R-101-D8 | 480x480 | 40000 | - | 9.93 | 44.14 | 45.67 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515-9b565a6d.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515.log.json) | +| FCN | R-101-D8 | 480x480 | 80000 | - | - | 44.47 | 45.74 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644-a3828480.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644.log.json) | diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 450d8056fd..77226f9bbc 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -48,5 +48,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|--------------------|-----------|--------:|----------|----------------|------:|--------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | -| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644.log.json) | diff --git a/configs/pspnet/README.md b/configs/pspnet/README.md index 304804baa9..84e0484972 100644 --- a/configs/pspnet/README.md +++ b/configs/pspnet/README.md @@ -43,5 +43,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| PSPNet | R-101-D8 | 480x480 | 40000 | 8.8 | 9.68 | 46.60 | 47.78 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210-bf0f5d7c.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context-20200911_211210.log.json) | -| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 46.03 | 47.15 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530-c86d6233.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context-20200911_190530.log.json) | +| PSPNet | R-101-D8 | 480x480 | 40000 | 8.8 | 9.68 | 46.60 | 47.78 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210-bf0f5d7c.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210.log.json) | +| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 46.03 | 47.15 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530-c86d6233.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530.log.json) | From dd043169842e10bbeec848b0ee251e136059b4ac Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Tue, 22 Sep 2020 12:45:46 +0800 Subject: [PATCH 09/11] fix model path mistake again --- configs/deeplabv3/README.md | 4 ++-- configs/deeplabv3plus/README.md | 4 ++-- configs/fcn/README.md | 4 ++-- configs/hrnet/README.md | 4 ++-- configs/pspnet/README.md | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/configs/deeplabv3/README.md b/configs/deeplabv3/README.md index 67eadd9c87..2e739db76b 100644 --- a/configs/deeplabv3/README.md +++ b/configs/deeplabv3/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |-----------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118.log.json) | -| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 46.42 | 47.53 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155-2a21fff3.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155.log.json) | +| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context-20200911_204118.log.json) | +| DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 46.42 | 47.53 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155-2a21fff3.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context-20200911_170155.log.json) | diff --git a/configs/deeplabv3plus/README.md b/configs/deeplabv3plus/README.md index 0237e704a2..cdfaba1f86 100644 --- a/configs/deeplabv3plus/README.md +++ b/configs/deeplabv3plus/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series #### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |------------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | 9.09 | 47.30 | 48.47 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459-d3c8a29e.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459.log.json) | -| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.23 | 48.26 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322-145d3ee8.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322.log.json) | +| DeepLabV3+ | R-101-D8 | 480x480 | 40000 | - | 9.09 | 47.30 | 48.47 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context_20200911_165459-d3c8a29e.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_40k_pascal_context/deeplabv3plus_r101-d8_480x480_40k_pascal_context-20200911_165459.log.json) | +| DeepLabV3+ | R-101-D8 | 480x480 | 80000 | - | - | 47.23 | 48.26 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context_20200911_155322-145d3ee8.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3plus/deeplabv3plus_r101-d8_480x480_80k_pascal_context/deeplabv3plus_r101-d8_480x480_80k_pascal_context-20200911_155322.log.json) | diff --git a/configs/fcn/README.md b/configs/fcn/README.md index 0a9fee2631..25c966c183 100644 --- a/configs/fcn/README.md +++ b/configs/fcn/README.md @@ -47,5 +47,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| FCN | R-101-D8 | 480x480 | 40000 | - | 9.93 | 44.14 | 45.67 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515-9b565a6d.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515.log.json) | -| FCN | R-101-D8 | 480x480 | 80000 | - | - | 44.47 | 45.74 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644-a3828480.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644.log.json) | +| FCN | R-101-D8 | 480x480 | 40000 | - | 9.93 | 44.14 | 45.67 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515-9b565a6d.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | +| FCN | R-101-D8 | 480x480 | 80000 | - | - | 44.47 | 45.74 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644-a3828480.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/fcn/fcn_r101-d8_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 77226f9bbc..450d8056fd 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -48,5 +48,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|--------------------|-----------|--------:|----------|----------------|------:|--------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context_20200911_212515.log.json) | -| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context_20200915_032644.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | diff --git a/configs/pspnet/README.md b/configs/pspnet/README.md index 84e0484972..304804baa9 100644 --- a/configs/pspnet/README.md +++ b/configs/pspnet/README.md @@ -43,5 +43,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| PSPNet | R-101-D8 | 480x480 | 40000 | 8.8 | 9.68 | 46.60 | 47.78 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210-bf0f5d7c.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210.log.json) | -| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 46.03 | 47.15 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530-c86d6233.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530.log.json) | +| PSPNet | R-101-D8 | 480x480 | 40000 | 8.8 | 9.68 | 46.60 | 47.78 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context_20200911_211210-bf0f5d7c.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_40k_pascal_context/pspnet_r101-d8_480x480_40k_pascal_context-20200911_211210.log.json) | +| PSPNet | R-101-D8 | 480x480 | 80000 | - | - | 46.03 | 47.15 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context_20200911_190530-c86d6233.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/pspnet/pspnet_r101-d8_480x480_80k_pascal_context/pspnet_r101-d8_480x480_80k_pascal_context-20200911_190530.log.json) | From 8fed415d5a09a8510b7afe5c94ceb4f2b2c37f79 Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Tue, 22 Sep 2020 12:53:19 +0800 Subject: [PATCH 10/11] fix model path mistake again --- configs/deeplabv3/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/deeplabv3/README.md b/configs/deeplabv3/README.md index 2e739db76b..e67857edf8 100644 --- a/configs/deeplabv3/README.md +++ b/configs/deeplabv3/README.md @@ -45,5 +45,5 @@ Note: `D-8` here corresponding to the output stride 8 setting for DeepLab series ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |-----------|----------|-----------|--------:|----------|----------------|------:|--------------:|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context-20200911_204118.log.json) | +| DeepLabV3 | R-101-D8 | 480x480 | 40000 | 9.2 | 7.09 | 46.55 | 47.81 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context_20200911_204118-1aa27336.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_40k_pascal_context/deeplabv3_r101-d8_480x480_40k_pascal_context-20200911_204118.log.json) | | DeepLabV3 | R-101-D8 | 480x480 | 80000 | - | - | 46.42 | 47.53 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context_20200911_170155-2a21fff3.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/deeplabv3/deeplabv3_r101-d8_480x480_80k_pascal_context/deeplabv3_r101-d8_480x480_80k_pascal_context-20200911_170155.log.json) | From 042901c73560ea5a157d12b09356bddfc099d767 Mon Sep 17 00:00:00 2001 From: yamengxi <854341266@qq.com> Date: Tue, 22 Sep 2020 12:58:07 +0800 Subject: [PATCH 11/11] fix model path mistakes again --- configs/hrnet/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 450d8056fd..153fbdd2ec 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -48,5 +48,5 @@ ### Pascal Context | Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | download | |--------|--------------------|-----------|--------:|----------|----------------|------:|--------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_r101-d8_480x480_40k_pascal_context-20200911_212515.log.json) | -| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_r101-d8_480x480_80k_pascal_context-20200915_032644.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 40000 | 6.1 | 8.86 | 45.14 | 47.42 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context_20200911_164852-667d00b0.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_40k_pascal_context/fcn_hr48_480x480_40k_pascal_context-20200911_164852.log.json) | +| FCN | HRNetV2p-W48 | 480x480 | 80000 | - | - | 45.84 | 47.84 | [model](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context_20200911_155322-847a6711.pth) | [log](https://openmmlab.oss-accelerate.aliyuncs.com/mmsegmentation/v0.5/hrnet/fcn_hr48_480x480_80k_pascal_context/fcn_hr48_480x480_80k_pascal_context-20200911_155322.log.json) |