                         name="{}_conv2d".format(self._name),
                         **self._kwargs)(inputs)
          if self._use_instance_norm:
              var_x = InstanceNormalization(name="{}_instancenorm".format(self._name))(var_x)
          if not self._res_block_follows:
              var_x = LeakyReLU(0.1, name="{}_leakyrelu".format(self._name))(var_x)
          return var_x
  
  
  class SeparableConv2DBlock():  # pylint:disable=too-few-public-methods
 
</s> remove         var_x = Conv2D(self._filters,
                       self._kernel_size,
                       strides=self._strides,
                       padding=self._padding,
                       name="{}_conv2d".format(self._name),
                       **self._kwargs)(inputs)
        if self._use_instance_norm:
 </s> add         conv = DepthwiseConv2D if self._use_depthwise else Conv2D
        var_x = conv(*self._args,
                     strides=self._strides,
                     padding=self._padding,
                     name="{}_{}conv2d".format(self._name, "dw" if self._use_depthwise else ""),
                     **self._kwargs)(inputs)
        # normalization
        if self._normalization == "instance": </s> remove                             use_instance_norm=self._use_instance_norm,
                            res_block_follows=self._res_block_follows,
 </s> add                             normalization=self._normalization,
                            activation=self._activation, </s> remove         var_x = Conv2DBlock(128, **kwargs)(var_x)
 </s> add         var_x = Conv2DBlock(128, activation="leakyrelu", **kwargs)(var_x) </s> remove             var_x = Conv2DBlock(1024)(var_x)
 </s> add             var_x = Conv2DBlock(1024, activation="leakyrelu")(var_x)

        if self._normalization == "batch":
            var_x = BatchNormalization(axis=3, name="{}_batchnorm".format(self._name))(var_x)

        # activation
        if self._activation == "leakyrelu":
                         name="{}_conv2d".format(self._name),
                         **self._kwargs)(inputs)
          if self._use_instance_norm:
              var_x = InstanceNormalization(name="{}_instancenorm".format(self._name))(var_x)
        if self._normalization == "batch":
            var_x = BatchNormalization(axis=3, name="{}_batchnorm".format(self._name))(var_x)

        # activation
        if self._activation == "leakyrelu":
              var_x = LeakyReLU(0.1, name="{}_leakyrelu".format(self._name))(var_x)
          return var_x
  
  
  class SeparableConv2DBlock():  # pylint:disable=too-few-public-methods
keep keep keep keep replace keep keep keep keep keep
 lib.model - Maintenance
  - Add Depthwise option to Conv Block
  - Add Swish Activation function
  - remove res_block_follows and add_instance_norm_args
  - Add explicit normalization and activation args
  - Add K.resize_images layer
plugins.train.model - Inference creation bugfix 
lib/model/nn_blocks.py