MMSeg1.2.2自定义模型
mmsegmentation/
└── mmseg/
├── models/
│ ├── backbones/
│ │ ├── __init__.py # 更新以注册SFFNetBackbone
│ │ └── sffnet_backbone.py
│ ├── decode_heads/
│ │ ├── __init__.py # 更新以注册SFFNetDecodeHead
│ │ ├── sffnet_head.py
│ │ ├── MDAF.py
│ │ ├── FMS.py
│ │ └── SppCSPC.py
│ ├── utils/
│ │ ├── __init__.py # 更新以注册相关基础模块
│ │ └── common_conv.py
└── configs/
└── sffnet/
├── sffnet_convnext_tiny_6xb4_512x512.py
改写backbone:这里需要注意版本问题导致的包迁移,特别是模型需要在注册表中进行注册。 直接使用@MODELS.register_module()进行注册。
import logging
from mmcv.cnn import ConvModule, build_norm_layer
from mmengine.model import BaseModule
from mmengine.runner import load_checkpoint
from mmseg.registry import MODELS
改写decode_head: 同样使用@MODELS.register_module()进行注册。
from ..utils import resize
from mmseg.registry import MODELS
from .decode_head import BaseDecodeHead
两个阶段的共用的模块可以放到utils中去注册定义并调用,不用两边都定义。

浙公网安备 33010602011771号