code: def test_ethosu_binary_elementwise_invalid_data_types():
      dtype = "int8"
      dtype2 = "int32"
      operator_type = "ADD"
      ifm_shape = [1, 4, 5, 33]
      ifm = relay.var("ifm", shape=ifm_shape, dtype=dtype)
      ifm2 = relay.var("ifm2", shape=ifm_shape, dtype=dtype2)
      ifm_channels, ifm2_channels = 33, 33
      binary_elementwise = make_ethosu_binary_elementwise(
          ifm,
          ifm2,
          ifm_channels,
          ifm2_channels,
          operator_type,
          dtype,
      )
      func = relay.Function([ifm, ifm2], binary_elementwise)
      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 12 for calling a global function with example usage: test_ethosu_binary_elementwise_invalid_data_types() without return types