def multilevel_features_generator(params): """Generator function for various FPN models.""" if params.architecture.multilevel_features == 'fpn': fpn_params = params.fpn fpn_fn = fpn.Fpn(min_level=fpn_params.min_level, max_level=fpn_params.max_level, fpn_feat_dims=fpn_params.fpn_feat_dims, use_separable_conv=fpn_params.use_separable_conv, batch_norm_relu=batch_norm_relu_generator( fpn_params.batch_norm)) elif params.architecture.multilevel_features == 'identity': fpn_fn = identity.Identity() else: raise ValueError('The multi-level feature model %s is not supported.' % params.architecture.multilevel_features) return fpn_fn
def multilevel_features_generator(params): """Generator function for various FPN models.""" if params.architecture.multilevel_features == 'fpn': fpn_params = params.fpn fpn_fn = fpn.Fpn(min_level=params.architecture.min_level, max_level=params.architecture.max_level, fpn_feat_dims=fpn_params.fpn_feat_dims, use_separable_conv=fpn_params.use_separable_conv, activation=params.norm_activation.activation, use_batch_norm=fpn_params.use_batch_norm, norm_activation=norm_activation_generator( params.norm_activation)) elif params.architecture.multilevel_features == 'identity': fpn_fn = identity.Identity() else: raise ValueError( 'The multi-level feature model `{}` is not supported.'.format( params.architecture.multilevel_features)) return fpn_fn