code: def make_model(
      shape,
      in_dtype,
      out_dtype,
      in_zero_point,
      in_scale,
      out_zero_point=-128,
      out_scale=1.0 / 256,
  ):
      """Create a Relay Function / network model"""
      a = relay.var("in0", shape=shape, dtype=in_dtype)
      dequantize = relay.qnn.op.dequantize(
          a,
          input_scale=relay.const(in_scale, "float32"),
          input_zero_point=relay.const(in_zero_point, "int32"),
      )
      softmax = relay.nn.softmax(dequantize)
      model = relay.qnn.op.quantize(
          softmax,
          output_scale=relay.const(out_scale, "float32"),
          output_zero_point=relay.const(out_zero_point, "int32"),
          out_dtype=out_dtype,
      )
      return model
  
file_path: tvm/tests/python/contrib/test_cmsisnn/test_softmax.py
imports: import itertools
  import numpy
  import pytest
  import tvm.testing
  from tvm import relay
  from tvm.relay.op.contrib import cmsisnn
  from tvm.testing.aot import get_dtype_range, AOTTestModel, compile_and_run, generate_ref_data
  from .utils import skip_if_no_reference_system, make_module, assert_partitioned_function, assert_no_external_function, create_test_runner
label_desc: Use image node_id 1 for calling a global function with example usage: make_model(shape, in_dtype, out_dtype, in_zero_point, in_scale, out_zero_point, out_scale) and returns: model