code: def forward(self, x, pool_size=(2, 2), pool_type="avg"):
      x = self.conv1(x)
      x = self.bn1(x)
      x = F.relu(x)
  
      x = self.conv2(x)
      x = self.bn2(x)
      x = F.relu(x)
  
      if pool_type == "max":
          x = F.max_pool2d(x, kernel_size=pool_size)
      elif pool_type == "avg":
          x = F.avg_pool2d(x, kernel_size=pool_size)
      elif pool_type == "avg+max":
          x = F.avg_pool2d(x, kernel_size=pool_size) + F.max_pool2d(
              x, kernel_size=pool_size
          )
      else:
          raise Exception(
              f'Pooling type of {pool_type} is not supported. It must be one of "max", "avg" and "avg+max".'
          )
      return x
  
file_path: PaddleHub/modules/audio/audio_classification/PANNs/cnn14/network.py
imports: import os
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddlehub.utils.log import logger
label_desc: Use image node_id 2 for calling the ConvBlock obj's underlying member method code with example usage: obj.forward(x, pool_size, pool_type) and returns: x