Spaces:
Sleeping
Sleeping
# Copyright (c) OpenMMLab. All rights reserved. | |
import torch.nn as nn | |
from mmcv.cnn import ConvModule | |
from mmengine.model import BaseModule, Sequential | |
from mmocr.registry import MODELS | |
class ABCNetRecBackbone(BaseModule): | |
def __init__(self, init_cfg=None): | |
super().__init__(init_cfg) | |
self.convs = Sequential( | |
ConvModule( | |
in_channels=256, | |
out_channels=256, | |
kernel_size=3, | |
padding=1, | |
bias='auto', | |
norm_cfg=dict(type='BN'), | |
act_cfg=dict(type='ReLU')), | |
ConvModule( | |
in_channels=256, | |
out_channels=256, | |
kernel_size=3, | |
padding=1, | |
bias='auto', | |
norm_cfg=dict(type='BN'), | |
act_cfg=dict(type='ReLU')), | |
ConvModule( | |
in_channels=256, | |
out_channels=256, | |
kernel_size=3, | |
padding=1, | |
stride=(2, 1), | |
bias='auto', | |
norm_cfg=dict(type='GN', num_groups=32), | |
act_cfg=dict(type='ReLU')), | |
ConvModule( | |
in_channels=256, | |
out_channels=256, | |
kernel_size=3, | |
padding=1, | |
stride=(2, 1), | |
bias='auto', | |
norm_cfg=dict(type='GN', num_groups=32), | |
act_cfg=dict(type='ReLU')), nn.AdaptiveAvgPool2d((1, None))) | |
def forward(self, x): | |
return self.convs(x) | |