HRNet¶
- class mmcls.models.backbones.HRNet(arch='w32', extra=None, in_channels=3, conv_cfg=None, norm_cfg={'type': 'BN'}, norm_eval=False, with_cp=False, zero_init_residual=False, multiscale_output=True, init_cfg=[{'type': 'Kaiming', 'layer': 'Conv2d'}, {'type': 'Constant', 'val': 1, 'layer': ['_BatchNorm', 'GroupNorm']}])[源代码]¶
HRNet backbone.
High-Resolution Representations for Labeling Pixels and Regions.
- 参数
arch (str) – The preset HRNet architecture, includes ‘w18’, ‘w30’, ‘w32’, ‘w40’, ‘w44’, ‘w48’, ‘w64’. It will only be used if extra is
None
. Defaults to ‘w32’.extra (dict, optional) –
Detailed configuration for each stage of HRNet. There must be 4 stages, the configuration for each stage must have 5 keys:
num_modules (int): The number of HRModule in this stage.
num_branches (int): The number of branches in the HRModule.
block (str): The type of convolution block. Please choose between ‘BOTTLENECK’ and ‘BASIC’.
num_blocks (tuple): The number of blocks in each branch. The length must be equal to num_branches.
num_channels (tuple): The number of base channels in each branch. The length must be equal to num_branches.
Defaults to None.
in_channels (int) – Number of input image channels. Defaults to 3.
conv_cfg (dict, optional) – Dictionary to construct and config conv layer. Defaults to None.
norm_cfg (dict) – Dictionary to construct and config norm layer. Defaults to
dict(type='BN')
.norm_eval (bool) – Whether to set norm layers to eval mode, namely, freeze running stats (mean and var). Note: Effect on Batch Norm and its variants only. Defaults to False.
with_cp (bool) – Use checkpoint or not. Using checkpoint will save some memory while slowing down the training speed. Defaults to False.
zero_init_residual (bool) – Whether to use zero init for last norm layer in resblocks to let them behave as identity. Defaults to False.
multiscale_output (bool) – Whether to output multi-level features produced by multiple branches. If False, only the first level feature will be output. Defaults to True.
init_cfg (dict or list[dict], optional) – Initialization config dict. Defaults to None.
示例
>>> import torch >>> from mmcls.models import HRNet >>> extra = dict( >>> stage1=dict( >>> num_modules=1, >>> num_branches=1, >>> block='BOTTLENECK', >>> num_blocks=(4, ), >>> num_channels=(64, )), >>> stage2=dict( >>> num_modules=1, >>> num_branches=2, >>> block='BASIC', >>> num_blocks=(4, 4), >>> num_channels=(32, 64)), >>> stage3=dict( >>> num_modules=4, >>> num_branches=3, >>> block='BASIC', >>> num_blocks=(4, 4, 4), >>> num_channels=(32, 64, 128)), >>> stage4=dict( >>> num_modules=3, >>> num_branches=4, >>> block='BASIC', >>> num_blocks=(4, 4, 4, 4), >>> num_channels=(32, 64, 128, 256))) >>> self = HRNet(extra, in_channels=1) >>> self.eval() >>> inputs = torch.rand(1, 1, 32, 32) >>> level_outputs = self.forward(inputs) >>> for level_out in level_outputs: ... print(tuple(level_out.shape)) (1, 32, 8, 8) (1, 64, 4, 4) (1, 128, 2, 2) (1, 256, 1, 1)
- property norm1¶
the normalization layer named “norm1”
- Type
nn.Module
- property norm2¶
the normalization layer named “norm2”
- Type
nn.Module