class_docstr: Implements AdaptiveAvgPool2d with output (H, W) = (1, 1). This operator has
  better efficiency than AdaptiveAvgPool for mobile CPU.
class_docstr_tok: ["Implements","AdaptiveAvgPool2d","with","output","(","H",",","W",")","=","(","1",",","1",")",".","This","operator","has","better","efficiency","than","AdaptiveAvgPool","for","mobile","CPU","."]
docstr: Converts AdaptiveAvgPool into AvgPool with constant kernel size for better
  efficiency.
  Args:
      input_blob_size (tuple): blob size at the input of
          AdaptiveAvgPool2dOutSize1 instance during forward.
      kwargs (any): any keyword argument (unused).
docstr_tok: ["Converts","AdaptiveAvgPool","into","AvgPool","with","constant","kernel","size","for","better","efficiency",".","Args",":","input_blob_size","(","tuple",")",":","blob","size","at","the","input","of","AdaptiveAvgPool2dOutSize1","instance","during","forward",".","kwargs","(","any",")",":","any","keyword","argument","(","unused",")","."]
code: def convert(self, input_blob_size: Tuple, **kwargs):
      """
      Converts AdaptiveAvgPool into AvgPool with constant kernel size for better
      efficiency.
      Args:
          input_blob_size (tuple): blob size at the input of
              AdaptiveAvgPool2dOutSize1 instance during forward.
          kwargs (any): any keyword argument (unused).
      """
      assert (
          self.convert_flag is False
      ), "AdaptiveAvgPool2dOutSize1: already converted, cannot be converted again"
      kernel_size = input_blob_size[2:]
      self.pool = nn.AvgPool2d(kernel_size)
      self.convert_flag = True
  
imports: from typing import Tuple, Union
  import torch.nn
  from pytorchvideo.accelerator.efficient_blocks.efficient_block_base import EfficientBlockBase
  from pytorchvideo.accelerator.efficient_blocks.no_op_convert_block import NoOpConvertBlock
label_desc: Use image node_id 2 for calling the AdaptiveAvgPool2dOutSize1 obj's underlying member method code with example usage: obj.convert(input_blob_size) without return types