      def __init__(self, *args, padding="same", check_icnr_init=False, **kwargs):
          if kwargs.get("name", None) is None:
              filters = kwargs["filters"] if "filters" in kwargs else args[0]
              kwargs["name"] = _get_name("conv2d_{}".format(filters))
          initializer = self._get_default_initializer(kwargs.pop("kernel_initializer", None))
          if check_icnr_init and _CONFIG["icnr_init"]:
              initializer = ICNR(initializer=initializer)
              logger.debug("Using ICNR Initializer: %s", initializer)
          super().__init__(*args, padding=padding, kernel_initializer=initializer, **kwargs)
  
 
</s> remove         Returns
        -------
        :class:`keras.initializers.Initializer`
            The kernel initializer to use for this convolutional layer. Either the original given
            initializer, he_uniform or convolutional aware (if selected in config options)
        """
        if initializer is None:
            retval = ConvolutionAware() if _CONFIG["conv_aware_init"] else he_uniform()
            logger.debug("Set default kernel_initializer: %s", retval)
        else:
            retval = initializer
            logger.debug("Using model supplied initializer: %s", retval)
        return retval
 </s> add     Parameters are the same, with the same defaults, as a standard
    :class:`keras.layers.DepthwiseConv2D` except where listed below. The default initializer is
    updated to `he_uniform` or `convolutional aware` based on user configuration settings.

    Parameters
    ----------
    padding: str, optional
        One of `"valid"` or `"same"` (case-insensitive). Default: `"same"`. Note that `"same"` is
        slightly inconsistent across backends with `strides` != 1, as described
        `here <https://github.com/keras-team/keras/pull/9473#issuecomment-372166860/>`_.
    check_icnr_init: `bool`, optional
        ``True`` if the user configuration options should be checked to apply ICNR initialization
        to the layer. This should only be passed in from :class:`UpscaleBlock` layers.
        Default: ``False``
    """
    def __init__(self, *args, padding="same", check_icnr_init=False, **kwargs):
        if kwargs.get("name", None) is None:
            kwargs["name"] = _get_name("dwconv2d")
        initializer = _get_default_initializer(kwargs.pop("depthwise_initializer", None))
        if check_icnr_init and _CONFIG["icnr_init"]:
            initializer = ICNR(initializer=initializer)
            logger.debug("Using ICNR Initializer: %s", initializer)
        super().__init__(*args, padding=padding, depthwise_initializer=initializer, **kwargs) </s> remove     @classmethod
    def _get_default_initializer(cls, initializer):
        """ Returns a default initializer of Convolutional Aware or he_uniform for convolutional
        layers.
 </s> add  </s> remove     @classmethod
    def _get_default_initializer(cls, initializer):
        """ Returns a default initializer of Convolutional Aware or he_uniform for convolutional
        layers.

        Parameters
        ----------
        initializer: :class:`keras.initializers.Initializer` or None
            The initializer that has been passed into the model. If this value is ``None`` then a
            default initializer will be returned based on the configuration choices, otherwise
            the given initializer will be returned.

        Returns
        -------
        :class:`keras.initializers.Initializer`
            The kernel initializer to use for this convolutional layer. Either the original given
            initializer, he_uniform or convolutional aware (if selected in config options)
        """
        if initializer is None:
            retval = ConvolutionAware() if _CONFIG["conv_aware_init"] else he_uniform()
            logger.debug("Set default kernel_initializer: %s", retval)
        else:
            retval = initializer
            logger.debug("Using model supplied initializer: %s", retval)
        return retval

 </s> add  </s> remove         initializer = self._get_default_initializer(kwargs.pop("kernel_initializer", None))
 </s> add         initializer = _get_default_initializer(kwargs.pop("kernel_initializer", None)) </s> remove                  res_block_follows=False, sr_ratio=0.5, scale_factor=2, fast=False, **kwargs):
 </s> add                  activation="leakyrelu", sr_ratio=0.5, scale_factor=2, fast=False, **kwargs):
        initializer = _get_default_initializer(kwargs.pop("kernel_initializer", None))
      def __init__(self, *args, padding="same", check_icnr_init=False, **kwargs):
          if kwargs.get("name", None) is None:
              filters = kwargs["filters"] if "filters" in kwargs else args[0]
              kwargs["name"] = _get_name("conv2d_{}".format(filters))
        initializer = _get_default_initializer(kwargs.pop("kernel_initializer", None))
          if check_icnr_init and _CONFIG["icnr_init"]:
              initializer = ICNR(initializer=initializer)
              logger.debug("Using ICNR Initializer: %s", initializer)
          super().__init__(*args, padding=padding, kernel_initializer=initializer, **kwargs)
  
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