Skip to content

Commit

Permalink
Final configs
Browse files Browse the repository at this point in the history
  • Loading branch information
drkostas committed May 18, 2022
1 parent 38bf5cb commit 6f9b90f
Show file tree
Hide file tree
Showing 17 changed files with 411 additions and 24 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -152,3 +152,4 @@ logs/*.log
/pretrained/ImageNet-1K/mit_b5.pth
/data/MSD/
/pretrained/ImageNet-1K/mit_b0.pth
/pretrained/ImageNet-1K/mit_b3.pth
9 changes: 4 additions & 5 deletions SegFormer/demo/image_demo.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,10 @@ def show_result_pyplot(model, img, result, train_or_test='train', palette=None,
plt.figure(figsize=fig_size)
fig, ax = plt.subplots(1, 1, figsize=fig_size)
ax.imshow(mmcv.bgr2rgb(img), alpha=1.0)
if train_or_test == 'train':
img_annot = img_path.replace("images", "annotations")
img_annot = imread(img_annot)
ax.imshow(img_annot, cmap=my_cmap, interpolation='none',
clim=[0.9, 1], alpha=.4)
img_annot = img_path.replace("images", "annotations")
img_annot = imread(img_annot)
ax.imshow(img_annot, cmap=my_cmap, interpolation='none',
clim=[0.9, 1], alpha=.4)
plt.show()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
test=dict(
type=dataset_type,
data_root='../../data/MSD/Task06_Lungs_RGB_2D_512_Balanced',
img_dir='images/training',
img_dir='images/validation',
ann_dir='annotations/validation',
pipeline=test_pipeline)
)
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
_base_ = [
'../../_base_/models/segformer.py',
'../../_base_/datasets/msd_balanced.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_20k.py'
]

# model settings
norm_cfg = dict(type='SyncBN', requires_grad=True)
find_unused_parameters = True
model = dict(
type='EncoderDecoder',
pretrained='../../pretrained/ImageNet-1K/mit_b3.pth',
backbone=dict(
type='mit_b3',
style='pytorch'),
decode_head=dict(
type='SegFormerHead',
in_channels=[64, 128, 320, 512],
in_index=[0, 1, 2, 3],
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=768),
loss_decode=dict(type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
# model training and testing settings
train_cfg=dict(),
test_cfg=dict(mode='whole'))


# optimizer
optimizer = dict(_delete_=True, type='AdamW', lr=0.00006, betas=(0.9, 0.999), weight_decay=0.01,
paramwise_cfg=dict(custom_keys={'pos_block': dict(decay_mult=0.),
'norm': dict(decay_mult=0.),
'head': dict(lr_mult=10.)
}))

lr_config = dict(_delete_=True, policy='poly',
warmup='linear',
warmup_iters=1500,
warmup_ratio=1e-6,
power=1.0, min_lr=0.0, by_epoch=False)


data = dict(samples_per_gpu=2)
evaluation = dict(interval=16000, metric='mIoU')
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
_base_ = [
'../../_base_/models/segformer.py',
'../../_base_/datasets/msd_balanced.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_20k.py'
]

# model settings
norm_cfg = dict(type='SyncBN', requires_grad=True)
find_unused_parameters = True
model = dict(
type='EncoderDecoder',
pretrained='../../pretrained/ImageNet-1K/mit_b5.pth',
backbone=dict(
type='mit_b5',
style='pytorch'),
decode_head=dict(
type='SegFormerHead',
in_channels=[64, 128, 320, 512],
in_index=[0, 1, 2, 3],
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=768),
loss_decode=dict(type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
# model training and testing settings
train_cfg=dict(),
test_cfg=dict(mode='whole'))

# optimizer
optimizer = dict(_delete_=True, type='AdamW', lr=0.00006, betas=(0.9, 0.999), weight_decay=0.01,
paramwise_cfg=dict(custom_keys={'pos_block': dict(decay_mult=0.),
'norm': dict(decay_mult=0.),
'head': dict(lr_mult=10.)
}))

lr_config = dict(_delete_=True, policy='poly',
warmup='linear',
warmup_iters=1500,
warmup_ratio=1e-6,
power=1.0, min_lr=0.0, by_epoch=False)

data = dict(samples_per_gpu=2)
evaluation = dict(interval=16000, metric='mIoU')
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
feature_strides=[4, 8, 16, 32],
channels=128,
dropout_ratio=0.1,
num_classes=150,
num_classes=2,
norm_cfg=norm_cfg,
align_corners=False,
decoder_params=dict(embed_dim=256),
Expand Down
4 changes: 2 additions & 2 deletions SegFormer/mmseg/datasets/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,6 @@ def evaluate(self,
Returns:
dict[str, float]: Default metrics.
"""

if isinstance(metric, str):
metric = [metric]
allowed_metrics = ['mIoU', 'mDice']
Expand All @@ -341,7 +340,8 @@ def evaluate(self,
self.ignore_index,
metric,
label_map=self.label_map,
reduce_zero_label=self.reduce_zero_label)
nan_to_num=1,
reduce_zero_label=False)
class_table_data = [['Class'] + [m[1:] for m in metric] + ['Acc']]
if self.CLASSES is None:
class_names = tuple(range(num_classes))
Expand Down
Loading

0 comments on commit 6f9b90f

Please sign in to comment.