def __init__(self, filters: int, pool_size: Tuple[int, int]):
        """Initializes PANNConvBlock.

        Args:
          filters: the number of filters.
          pool_size: kernel size (also used as stride) of the 2D max-pooling.
        """
        super().__init__()
        for _ in range(2):
            self.add(
                tf.keras.layers.Conv2D(
                    filters=filters,
                    kernel_size=(3, 3),
                    strides=(1, 1),
                    padding='SAME',
                    use_bias=False,
                ))
            self.add(tf.keras.layers.BatchNormalization())
            self.add(tf.keras.layers.ReLU())

        self.add(
            tf.keras.layers.AvgPool2D(
                pool_size=pool_size, strides=pool_size, padding='SAME'))
Initializes PANNConvBlock.

        Args:
          filters: the number of filters.
          pool_size: kernel size (also used as stride) of the 2D max-pooling.
        
leaf_audio/models.py