def mnasnet_d1_320(depth_multiplier=None): """Creates a jointly searched mnasnet backbone for 320x320 input size. Args: depth_multiplier: multiplier to number of filters per layer. Returns: blocks_args: a list of BlocksArgs for internal MnasNet blocks. global_params: GlobalParams, global parameters for the model. """ blocks_args = [ 'r3_k5_s11_e6_i32_o24', 'r4_k7_s22_e9_i24_o36', 'r5_k5_s22_e9_i36_o48', 'r5_k7_s22_e6_i48_o96', 'r5_k3_s11_e9_i96_o144', 'r5_k5_s22_e6_i144_o160', 'r1_k7_s11_e9_i160_o320' ] global_params = mnasnet_model.GlobalParams( batch_norm_momentum=0.99, batch_norm_epsilon=1e-3, dropout_rate=0.2, data_format='channels_last', num_classes=1000, depth_multiplier=depth_multiplier, depth_divisor=8, min_depth=None, stem_size=32, use_keras=False) decoder = MnasNetDecoder() return decoder.decode(blocks_args), global_params
def mnasnet_a1(depth_multiplier=None): """Creates a mnasnet-a1 model. Args: depth_multiplier: multiplier to number of filters per layer. Returns: blocks_args: a list of BlocksArgs for internal MnasNet blocks. global_params: GlobalParams, global parameters for the model. """ blocks_args = [ 'r1_k3_s11_e1_i32_o16_noskip', 'r2_k3_s22_e6_i16_o24', 'r3_k5_s22_e3_i24_o40_se0.25', 'r4_k3_s22_e6_i40_o80', 'r2_k3_s11_e6_i80_o112_se0.25', 'r3_k5_s22_e6_i112_o160_se0.25', 'r1_k3_s11_e6_i160_o320' ] global_params = mnasnet_model.GlobalParams( batch_norm_momentum=0.99, batch_norm_epsilon=1e-3, dropout_rate=0.2, data_format='channels_last', num_classes=1000, depth_multiplier=depth_multiplier, depth_divisor=8, min_depth=None) decoder = MnasNetDecoder() return decoder.decode(blocks_args), global_params
def legrnet70(depth_multiplier=None): """Creates a legrnet model. Args: depth_multiplier: multiplier to number of filters per layer. Returns: blocks_args: a list of BlocksArgs for internal MnasNet blocks. global_params: GlobalParams, global parameters for the model. """ blocks_args = [ 'r1_k3_s11_m17_i17_o16_noskip', 'r1_k3_s22_m20_i16_o24_noskip', 'r1_k3_s11_m29_i24_o24', 'r1_k3_s22_m144_i24_o32_noskip', 'r1_k3_s11_m191_i32_o32', 'r1_k3_s11_m39_i32_o32', 'r1_k3_s22_m192_i32_o64_noskip', 'r1_k3_s11_m268_i64_o64', 'r1_k3_s11_m80_i64_o64', 'r1_k3_s11_m240_i64_o64', 'r1_k3_s11_m384_i64_o96_noskip', 'r1_k3_s11_m572_i96_o96', 'r1_k3_s11_m574_i96_o96', 'r1_k3_s22_m574_i96_o160_noskip', 'r1_k3_s11_m192_i160_o160', 'r1_k3_s11_m951_i160_o160', 'r1_k3_s11_m959_i160_o320_noskip' ] decoder = LeGRNetDecoder() global_params = mnasnet_model.GlobalParams( batch_norm_momentum=0.99, batch_norm_epsilon=1e-3, dropout_rate=0.2, data_format='channels_last', num_classes=1000, depth_multiplier=depth_multiplier, depth_divisor=1, stem_filters=17, last_filters=1280, mask=False, min_depth=None) return decoder.decode(blocks_args), global_params
def mnasnet_small(depth_multiplier=None, output_stride=32, squeeze=False, more=False): """Creates a mnasnet-a1 model. Args: depth_multiplier: multiplier to number of filters per layer. Returns: blocks_args: a list of BlocksArgs for internal MnasNet blocks. global_params: GlobalParams, global parameters for the model. """ blocks_args = [ 'r1_k3_s11_e1_i16_o8', 'r1_k3_s22_e3_i8_o16', 'r2_k3_s22_e6_i16_o16', 'r4_k5_s22_e6_i16_o32_se0.25', ] if squeeze: if more: blocks_args.append('r3_k3_s11_e6_i32_o16_se0.25') if output_stride == 16: blocks_args.append('r3_k5_s11_e6_i16_o44_se0.25') else: blocks_args.append('r3_k5_s22_e6_i16_o44_se0.25') blocks_args.append('r1_k3_s11_e6_i44_o72') else: blocks_args.append('r3_k3_s11_e6_i32_o32_se0.25') if output_stride == 16: blocks_args.append('r3_k5_s11_e6_i32_o44_se0.25') else: blocks_args.append('r3_k5_s22_e6_i32_o44_se0.25') blocks_args.append('r1_k3_s11_e6_i44_o72') else: blocks_args.append('r3_k3_s11_e6_i32_o32_se0.25') if output_stride == 16: blocks_args.append('r3_k5_s11_e6_i32_o88_se0.25') else: blocks_args.append('r3_k5_s22_e6_i32_o88_se0.25') blocks_args.append('r1_k3_s11_e6_i88_o144') global_params = mnasnet_model.GlobalParams( batch_norm_momentum=0.99, batch_norm_epsilon=1e-3, dropout_rate=0, data_format='channels_last', num_classes=1000, depth_multiplier=depth_multiplier, depth_divisor=8, min_depth=None, stem_size=8, use_keras=True) decoder = MnasNetDecoder() return decoder.decode(blocks_args), global_params