mirror of
https://github.com/open-mmlab/mmsegmentation.git
synced 2025-06-03 22:03:48 +08:00
* add config * add cityscapes config * add default value to docstring * fix lint * add deit-s and deit-b * add readme * add eps at norm_cfg * add drop_path_rate experiment * add deit case at init_weight * add upernet result * update result and add upernet 160k config * update upernet result and fix settings * Update iters number * update result and delete some configs * fix import error * fix drop_path_rate * update result and restore config * update benchmark result * remove cityscapes exp * remove neck * neck exp * add more configs * fix init error * fix ffn setting * update result * update results * update result * update results and fill table * delete or rename configs * fix link delimiter * rename configs and fix link * rename neck to mln
32 lines
1018 B
Python
32 lines
1018 B
Python
import torch
|
|
|
|
from mmseg.models import MultiLevelNeck
|
|
|
|
|
|
def test_multilevel_neck():
|
|
|
|
# Test init_weights
|
|
MultiLevelNeck([266], 256).init_weights()
|
|
|
|
# Test multi feature maps
|
|
in_channels = [256, 512, 1024, 2048]
|
|
inputs = [torch.randn(1, c, 14, 14) for i, c in enumerate(in_channels)]
|
|
|
|
neck = MultiLevelNeck(in_channels, 256)
|
|
outputs = neck(inputs)
|
|
assert outputs[0].shape == torch.Size([1, 256, 7, 7])
|
|
assert outputs[1].shape == torch.Size([1, 256, 14, 14])
|
|
assert outputs[2].shape == torch.Size([1, 256, 28, 28])
|
|
assert outputs[3].shape == torch.Size([1, 256, 56, 56])
|
|
|
|
# Test one feature map
|
|
in_channels = [768]
|
|
inputs = [torch.randn(1, 768, 14, 14)]
|
|
|
|
neck = MultiLevelNeck(in_channels, 256)
|
|
outputs = neck(inputs)
|
|
assert outputs[0].shape == torch.Size([1, 256, 7, 7])
|
|
assert outputs[1].shape == torch.Size([1, 256, 14, 14])
|
|
assert outputs[2].shape == torch.Size([1, 256, 28, 28])
|
|
assert outputs[3].shape == torch.Size([1, 256, 56, 56])
|