code: def adaptive_avg_pool2d(self, output_size):
      r"""
      Applies a 2D adaptive average pooling over an input signal composed of
      several input planes.
  
      See :class:`~torch.nn.AdaptiveAvgPool2d` for details and output shape.
  
      Args:
          output_size: the target output size (single integer or
              double-integer tuple)
      """
      if output_size is None or output_size[0] is None:
          output_size = self.shape[-2:]
  
      if self.shape[-2:] == output_size:
          return self.clone()
  
      resized_input, args, kwargs = _adaptive_pool2d_helper(
          self, output_size, reduction="mean"
      )
      return resized_input.avg_pool2d(*args, **kwargs)
  
file_path: CrypTen/crypten/common/functions/pooling.py
imports: import math
  import torch
label_desc: Use image node_id 3 for calling a global function with example usage: adaptive_avg_pool2d(output_size) and returns: resized_input, self