code: def test_avg_pool(self):  # type: () -> None
      kernel_shape = (5, 3)
      pads = (2, 1, 2, 1)
      strides = (1, 2)
  
      input_shape = (1, 3, 224, 224)
      output_size = _conv_pool_output_size(
          input_shape, (1, 1), kernel_shape, pads, strides
      )
      output_shape = (1, 3, output_size[0], output_size[1])
      _test_single_node(
          "AveragePool",
          [input_shape],
          [output_shape],
          test_name="test_avg_pool_1",
          kernel_shape=kernel_shape,
          pads=pads,
          strides=strides,
      )
  
      output_size = _conv_pool_output_size(
          input_shape, (1, 1), kernel_shape, [0, 0, 0, 0], strides
      )
      output_shape = (1, 3, output_size[0], output_size[1])
      _test_single_node(
          "AveragePool",
          [input_shape],
          [output_shape],
          test_name="test_avg_pool_2",
          kernel_shape=kernel_shape,
          strides=strides,
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import unittest
  import numpy
  from coremltools._deps import _HAS_ONNX, MSG_ONNX_NOT_FOUND
  from typing import Text
  from coremltools.models.utils import _macos_version
label_desc: Use image node_id 5 for calling the SingleOperatorTest obj's underlying member method code with example usage: obj.test_avg_pool() without return types