code: def test_ethosu_pooling_invalid_dtype():
      invalid_dtype = "int32"
      ifm = relay.var("ifm", shape=[1, 56, 72, 55], dtype=invalid_dtype)
      pooling_type = "MAX"
      pool_shape = (3, 2)
      ofm_channels = 55
      strides = (1, 2)
      padding = (0, 1, 2, 3)
      pooling = make_ethosu_pooling(
          ifm,
          pooling_type,
          pool_shape,
          ofm_channels,
          "int8",
          strides,
          padding,
      )
      func = relay.Function([ifm], pooling)
      with pytest.raises(TVMError):
          run_opt_pass(func, relay.transform.InferType())
  
imports: import pytest
  from tvm import relay, TVMError
  from tvm.relay.testing import run_opt_pass
  from .infra import make_ethosu_conv2d
  from .infra import make_ethosu_depthwise_conv2d
  from .infra import make_ethosu_pooling
  from .infra import make_ethosu_binary_elementwise
  from .infra import make_ethosu_identity
  from .infra import make_ethosu_unary_elementwise
label_desc: Use image node_id 8 for calling a global function with example usage: test_ethosu_pooling_invalid_dtype() without return types