          Use a faster up-scaling method that may appear more rugged. Default: ``False``
      kwargs: dict
          Any additional Keras standard layer keyword arguments to pass to the Convolutional 2D layer
      """
      def __init__(self, filters, kernel_size=3, padding="same", activation="leakyrelu",
                   interpolation="bilinear", sr_ratio=0.5, scale_factor=2, fast=False, **kwargs):
          self._name = _get_name(f"upscale2x_{filters}_{'fast' if fast else 'hyb'}")
  
          self._fast = fast
          self._filters = filters if self._fast else filters - int(filters * sr_ratio)
          self._kernel_size = kernel_size
 
</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: </s> remove                  filters,
                 kernel_size=3,
                 padding="same",
                 scale_factor=2,
                 normalization=None,
                 activation="leakyrelu",
                 **kwargs):
 </s> add                  filters: int,
                 kernel_size: Union[int, Tuple[int]] = 3,
                 padding: str = "same",
                 scale_factor: int = 2,
                 normalization: Optional[str] = None,
                 activation: Optional[str] = "leakyrelu",
                 **kwargs) -> None: </s> remove     def __call__(self, inputs):
 </s> add     def __call__(self, inputs: Tensor) -> Tensor: </s> remove     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``
 </s> add     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`` </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:
    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:
          Use a faster up-scaling method that may appear more rugged. Default: ``False``
      kwargs: dict
          Any additional Keras standard layer keyword arguments to pass to the Convolutional 2D layer
      """
    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:
    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:
          self._name = _get_name(f"upscale2x_{filters}_{'fast' if fast else 'hyb'}")
  
          self._fast = fast
          self._filters = filters if self._fast else filters - int(filters * sr_ratio)
          self._kernel_size = kernel_size
keep keep keep keep replace replace keep keep keep keep keep
 lib.model.nnblocks - typing + cleanup upscales 
lib/model/nn_blocks.py