  """ Neural Network Blocks for faceswap.py. """
  
  import logging
  
  from keras.layers import (Activation, Add, Concatenate, Conv2D as KConv2D, LeakyReLU,
                            SeparableConv2D, UpSampling2D)
  from keras.initializers import he_uniform, VarianceScaling
  
  from .initializers import ICNR, ConvolutionAware
  from .layers import PixelShuffler, ReflectionPadding2D
  from .normalization import InstanceNormalization
 
</s> remove from .layers import PixelShuffler, ReflectionPadding2D
 </s> add from .layers import PixelShuffler, ReflectionPadding2D, Swish </s> remove                                          kernel_size=self._kernel_size,
 </s> add                                          kernel_size=self._args[-1], </s> remove         var_x = Conv2DBlock(128)(var_x)
        var_x = Conv2DBlock(256)(var_x)
        var_x = Conv2DBlock(512)(var_x)
 </s> add         var_x = Conv2DBlock(128, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(256, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(512, activation="leakyrelu")(var_x)
 </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         var_x = Conv2DBlock(128)(var_x)
        var_x = Conv2DBlock(256)(var_x)
        var_x = Conv2DBlock(512)(var_x)
        var_x = Conv2DBlock(1024)(var_x)
 </s> add         var_x = Conv2DBlock(128, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(256, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(512, activation="leakyrelu")(var_x)
        var_x = Conv2DBlock(1024, activation="leakyrelu")(var_x)
from keras.layers import (Activation, Add, BatchNormalization, Concatenate, Conv2D as KConv2D,
                          DepthwiseConv2D as KDepthwiseConv2d, LeakyReLU, SeparableConv2D,
                          UpSampling2D)
  """ Neural Network Blocks for faceswap.py. """
  
  import logging
  
from keras.layers import (Activation, Add, BatchNormalization, Concatenate, Conv2D as KConv2D,
                          DepthwiseConv2D as KDepthwiseConv2d, LeakyReLU, SeparableConv2D,
                          UpSampling2D)
from keras.layers import (Activation, Add, BatchNormalization, Concatenate, Conv2D as KConv2D,
                          DepthwiseConv2D as KDepthwiseConv2d, LeakyReLU, SeparableConv2D,
                          UpSampling2D)
  from keras.initializers import he_uniform, VarianceScaling
  
  from .initializers import ICNR, ConvolutionAware
  from .layers import PixelShuffler, ReflectionPadding2D
  from .normalization import InstanceNormalization
keep keep keep keep replace 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