      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))
 
</s> remove     def _assert_arguments(self):
 </s> add     def _assert_arguments(self) -> None: </s> remove     def __init__(self, filters, kernel_size=3, padding="same", activation="leakyrelu",
                 interpolation="bilinear", sr_ratio=0.5, scale_factor=2, fast=False, **kwargs):
 </s> add     def __init__(self,
                 filters: int,
                 kernel_size: Union[int, Tuple[int]] = 3,
                 padding: str = "same",
                 activation: Optional[str] = "leakyrelu",
                 interpolation: str = "bilinear",
                 sr_ratio: float = 0.5,
                 scale_factor: int = 2,
                 fast: bool = False, **kwargs) -> None: </s> remove def _get_name(name):
 </s> add def _get_name(name: str) -> str: </s> remove     def __init__(self, filters, kernel_size=3, padding="same", **kwargs):
 </s> add     def __init__(self,
                 filters: int,
                 kernel_size: Union[int, Tuple[int]] = 3,
                 padding: str = "same",
                 **kwargs) -> None: </s> remove     def __init__(self, filters, kernel_size=3, padding="same", activation="leakyrelu",
                 scale_factor=2, interpolation="bilinear"):
 </s> add     def __init__(self,
                 filters: int,
                 kernel_size: Union[int, Tuple[int]] = 3,
                 padding: str = "same",
                 activation: str = "leakyrelu",
                 scale_factor: int = 2,
                 interpolation: str = "bilinear") -> None:
    is_upscale: `bool`, optional
        ``True`` if the convolution is being called from an upscale layer. This causes the instance
        to check the user configuration options to see if ICNR initialization has been selected and
        should be applied. This should only be passed in as ``True`` from :class:`UpscaleBlock`
        layers. Default: ``False``
      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/>`_.
    is_upscale: `bool`, optional
        ``True`` if the convolution is being called from an upscale layer. This causes the instance
        to check the user configuration options to see if ICNR initialization has been selected and
        should be applied. This should only be passed in as ``True`` from :class:`UpscaleBlock`
        layers. Default: ``False``
    is_upscale: `bool`, optional
        ``True`` if the convolution is being called from an upscale layer. This causes the instance
        to check the user configuration options to see if ICNR initialization has been selected and
        should be applied. This should only be passed in as ``True`` from :class:`UpscaleBlock`
        layers. Default: ``False``
    is_upscale: `bool`, optional
        ``True`` if the convolution is being called from an upscale layer. This causes the instance
        to check the user configuration options to see if ICNR initialization has been selected and
        should be applied. This should only be passed in as ``True`` from :class:`UpscaleBlock`
        layers. Default: ``False``
    is_upscale: `bool`, optional
        ``True`` if the convolution is being called from an upscale layer. This causes the instance
        to check the user configuration options to see if ICNR initialization has been selected and
        should be applied. This should only be passed in as ``True`` 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))
keep keep keep keep replace replace replace replace keep keep keep keep keep
 lib.model.nnblocks - typing + cleanup upscales 
lib/model/nn_blocks.py