Ejemplo n.º 1
0
 def get_primitives(cls, **primitive_kwargs) -> [CNNPrimitive]:
     act = dict(act_fun='relu', order='act_w_bn')
     df = dict(act_inplace=False, bn_affine=True, use_bn=True)
     return [
         CNNPrimitive(cls=SepConvLayer,
                      kwargs=dict(k_size=3, dilation=1, **act, **df),
                      stacked=2),
         CNNPrimitive(cls=SepConvLayer,
                      kwargs=dict(k_size=5, dilation=1, **act, **df),
                      stacked=2),
         CNNPrimitive(cls=SepConvLayer,
                      kwargs=dict(k_size=3, dilation=2, **act, **df)),
         CNNPrimitive(cls=SepConvLayer,
                      kwargs=dict(k_size=5, dilation=2, **act, **df)),
         CNNPrimitive(PoolingLayer,
                      kwargs=dict(k_size=3,
                                  pool_type='max',
                                  act_fun=None,
                                  order='w_bn',
                                  **df)),
         CNNPrimitive(PoolingLayer,
                      kwargs=dict(k_size=3,
                                  pool_type='avg',
                                  act_fun=None,
                                  order='w_bn',
                                  **df)),
         StrideChoiceCNNPrimitive([
             CNNPrimitive(cls=SkipLayer, kwargs=dict()),
             CNNPrimitive(cls=FactorizedReductionLayer,
                          kwargs=dict(**act, **df))
         ]),
         CNNPrimitive(cls=ZeroLayer, kwargs=dict()),
     ]
Ejemplo n.º 2
0
 def get_primitives(cls, **primitive_kwargs) -> [CNNPrimitive]:
     df = dict(dilation=1,
               bn_affine=True,
               act_fun='relu',
               act_inplace=False,
               expansion=1.0,
               att_dict=None)
     return [
         CNNPrimitive(cls=ShuffleNetV2Layer, kwargs=dict(k_size=3, **df)),
         CNNPrimitive(cls=ShuffleNetV2Layer, kwargs=dict(k_size=5, **df)),
         CNNPrimitive(cls=ShuffleNetV2Layer, kwargs=dict(k_size=7, **df)),
         CNNPrimitive(cls=ShuffleNetV2XceptionLayer,
                      kwargs=dict(k_size=3, **df)),
     ]
Ejemplo n.º 3
0
 def get_primitives(cls, stride=1, **primitive_kwargs) -> [CNNPrimitive]:
     primitives = MobileNetV2Primitives.get_primitives(stride=stride,
                                                       **primitive_kwargs)
     if stride == 1:
         primitives.append(
             CNNPrimitive(cls=LinearTransformerLayer, kwargs=dict())),
     return primitives
Ejemplo n.º 4
0
 def get_primitives(cls, stride=1, **primitive_kwargs) -> [CNNPrimitive]:
     df = dict(dilation=1,
               act_inplace=True,
               bn_affine=True,
               act_fun='swish')
     df['att_dict'] = dict(att_cls='EfficientChannelAttentionModule',
                           use_c_substitute=True)
     primitives = [
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=3, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=5, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=7, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=3, expansion=6.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=5, expansion=6.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=7, expansion=6.0, **df)),
     ]
     if stride == 1:
         primitives.append(
             CNNPrimitive(cls=LinearTransformerLayer, kwargs=dict()))
     return primitives
Ejemplo n.º 5
0
 def get_primitives(cls, stride=1, **primitive_kwargs) -> [CNNPrimitive]:
     df = dict(dilation=1,
               act_inplace=True,
               bn_affine=True,
               act_fun='swish')
     df['att_dict'] = dict(att_cls='SqueezeExcitationChannelModule',
                           use_c_substitute=True,
                           c_mul=0.25,
                           squeeze_act='swish',
                           excite_act='sigmoid',
                           squeeze_bias=True,
                           excite_bias=True,
                           squeeze_bn=False)
     primitives = [
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=3, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=5, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=7, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=3, expansion=6.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=5, expansion=6.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=7, expansion=6.0, **df)),
     ]
     if stride == 1:
         primitives.append(
             CNNPrimitive(cls=LinearTransformerLayer, kwargs=dict()))
     return primitives
Ejemplo n.º 6
0
 def get_primitives(cls, **primitive_kwargs) -> [CNNPrimitive]:
     act = dict(act_fun='relu',
                order='w_bn_act',
                act_inplace=False,
                bn_affine=False,
                use_bn=True)
     return [
         CNNPrimitive(cls=ConvLayer,
                      kwargs=dict(k_size=3, dilation=1, **act)),
         CNNPrimitive(cls=ConvLayer,
                      kwargs=dict(k_size=1, dilation=1, **act)),
         CNNPrimitive(PoolingLayer,
                      kwargs=dict(k_size=3,
                                  pool_type='max',
                                  act_fun=None,
                                  order='w',
                                  use_bn=False)),
     ]
Ejemplo n.º 7
0
 def get_primitives(cls, **primitive_kwargs) -> [CNNPrimitive]:
     act = dict(act_fun='relu', order='act_w_bn')
     df = dict(act_inplace=False, bn_affine=True, use_bn=True)
     dfnb = df.copy()
     dfnb['use_bn'] = False
     return [
         CNNPrimitive(cls=SepConvLayer, kwargs=dict(k_size=3, dilation=1, **act, **df), stacked=2),
         CNNPrimitive(cls=SepConvLayer, kwargs=dict(k_size=5, dilation=1, **act, **df), stacked=2),
         CNNPrimitive(cls=SepConvLayer, kwargs=dict(k_size=3, dilation=2, **act, **df)),
         CNNPrimitive(cls=SepConvLayer, kwargs=dict(k_size=5, dilation=2, **act, **df)),
         DifferentConfigPrimitive(
             CNNPrimitive(PoolingLayer, kwargs=dict(k_size=3, pool_type='max', act_fun=None, order='w_bn', **df)),
             CNNPrimitive(PoolingLayer, kwargs=dict(k_size=3, pool_type='max', act_fun=None, order='w', **dfnb))),
         DifferentConfigPrimitive(
             CNNPrimitive(PoolingLayer, kwargs=dict(k_size=3, pool_type='avg', act_fun=None, order='w_bn', **df)),
             CNNPrimitive(PoolingLayer, kwargs=dict(k_size=3, pool_type='avg', act_fun=None, order='w', **dfnb))),
         StrideChoiceCNNPrimitive([
             CNNPrimitive(cls=LinearTransformerLayer, kwargs=dict()),
             CNNPrimitive(cls=FactorizedReductionLayer, kwargs=dict(**act, **df))
         ]),
     ]
Ejemplo n.º 8
0
 def get_primitives(cls, **primitive_kwargs) -> [CNNPrimitive]:
     act = dict(act_fun='relu',
                order='act_w_bn',
                act_inplace=False,
                bn_affine=False,
                use_bn=True)
     return [
         CNNPrimitive(cls=ZeroLayer, kwargs=dict()),
         StrideChoiceCNNPrimitive([
             CNNPrimitive(cls=LinearTransformerLayer, kwargs=dict()),
             CNNPrimitive(cls=FactorizedReductionLayer, kwargs=dict(**act))
         ]),
         CNNPrimitive(cls=ConvLayer,
                      kwargs=dict(k_size=1, dilation=1, **act)),
         CNNPrimitive(cls=ConvLayer,
                      kwargs=dict(k_size=3, dilation=1, **act)),
         CNNPrimitive(PoolingConvLayer,
                      kwargs=dict(k_size=3,
                                  pool_type='avg',
                                  act_fun=None,
                                  order='w',
                                  bn_affine=False,
                                  use_bn=False,
                                  bias=False)),
     ]
Ejemplo n.º 9
0
 def get_primitives(cls, stride=1, **primitive_kwargs) -> [CNNPrimitive]:
     df = dict(dilation=1,
               act_inplace=True,
               bn_affine=True,
               act_fun='hswish')
     att_dict = dict(att_cls='EfficientChannelAttentionModule',
                     use_c_substitute=False,
                     k_size=-1,
                     gamma=2,
                     b=1,
                     excite_act='sigmoid')
     primitives = [
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(expansion=3,
                                  att_dict=att_dict,
                                  k_size=(3, ),
                                  **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(expansion=3,
                                  att_dict=att_dict,
                                  k_size=(3, 5),
                                  **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(expansion=3,
                                  att_dict=att_dict,
                                  k_size=(3, 5, 7),
                                  **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(expansion=6,
                                  att_dict=att_dict,
                                  k_size=(3, ),
                                  **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(expansion=6,
                                  att_dict=att_dict,
                                  k_size=(3, 5),
                                  **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(expansion=6,
                                  att_dict=att_dict,
                                  k_size=(3, 5, 7),
                                  **df)),
     ]
     if stride == 1:
         primitives.append(
             CNNPrimitive(cls=LinearTransformerLayer, kwargs=dict()))
     return primitives
Ejemplo n.º 10
0
 def get_primitives(cls, stride=1, **primitive_kwargs) -> [CNNPrimitive]:
     df = dict(dilation=1,
               act_inplace=True,
               bn_affine=True,
               act_fun='relu6',
               att_dict=None,
               stride=stride)
     return [
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=3, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=5, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=7, expansion=3.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=3, expansion=6.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=5, expansion=6.0, **df)),
         CNNPrimitive(cls=MobileInvertedConvLayer,
                      kwargs=dict(k_size=7, expansion=6.0, **df)),
     ]