code: def test_ethosu_conv2d_invalid_upscale_method():
      invalid_upscale_method = "FOO"
      ifm_channels = 55
      ofm_channels = 122
      kernel_shape = (3, 2)
      padding = (0, 1, 2, 3)
      strides = (1, 2)
      dilation = (2, 1)
      ifm = relay.var("ifm", shape=(1, 56, 72, 55), dtype="int8")
      conv2d = make_ethosu_conv2d(
          ifm,
          ifm_channels,
          ofm_channels,
          kernel_shape,
          padding,
          strides,
          dilation,
          weight_dtype="int8",
          scale_bias_dtype="uint8",
          upscale=invalid_upscale_method,
      )
      func = relay.Function([ifm], conv2d)
      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 3 for calling a global function with example usage: test_ethosu_conv2d_invalid_upscale_method() without return types