旋转框目标检测mmrotate v0.3.1 学习模型
·
1、我们基本上将模型组件分为5种类型
1、backbone: usually an FCN network to extract feature maps, e.g., ResNet, Swin.
2、neck: the component between backbones and heads, e.g., FPN, ReFPN.
3、head: the component for specific tasks, e.g., bbox prediction.
4、roi extractor: the part for extracting RoI features from feature maps, e.g., RoI Align Rotated.
5、loss: the component in head for calculating losses, e.g., FocalLoss, GWDLoss, and KFIoULoss.
2、开发新的组件
2.1 Add a new backbone
这里我们以MobileNet为例展示如何开发新组件
1. Define a new backbone (e.g. MobileNet)
Create a new file mmrotate/models/backbones/mobilenet.py.
import torch.nn as nn
from mmrotate.models.builder import ROTATED_BACKBONES
@ROTATED_BACKBONES.register_module()
class MobileNet(nn.Module):
def __init__(self, arg1, arg2):
pass
def forward(self, x): # should return a tuple
pass
2.2 导入模块
You can either add the following line to mmrotate/models/backbones/init.py
from .mobilenet import MobileNet
or alternatively add
custom_imports = dict(
imports=['mmrotate.models.backbones.mobilenet'],
allow_failed_imports=False)
到配置文件,以避免修改原始代码。
2.3. Use the backbone in your config file
model = dict(
...
backbone=dict(
type='MobileNet',
arg1=xxx,
arg2=xxx),
...
更多推荐
所有评论(0)