构建标准化层。
初始化需要的参数:
- cfg:dict类型,标准化层的config,应该包含:
- type:str类型,'BN1d','BN2d'等价于'BN','BN3d','SyncBN','GN','LN','IN1d','IN2d'等价于'IN','IN3d'。
- layer args:实例化标准化层需要的参数;
- requires_grad:optional,bool类型,是否停止梯度更新;
- num_features:int类型,输出通道数。
- postfix:int,str类型,添加到norm简称的后缀,构建有名字的层。
返回值:
- 一个元组:(str, nn.Module),第一个是包含简称和后缀的层名称,第二个元素是创建的标准化层实例。
from mmcv.cnn import build_norm_layer
cfg = dict(
type='BN2d'
)
bn2d = build_norm_layer(cfg, num_features=16)
print(bn2d) # ('bn', BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True))