code: def test_multi_output_model_export(self):
      model = MockMultiOutputModel()
      input = Tensor.rand(2, 2)
      outputs = model(input)
      prg, _, out_sizes, _ = export_model(model, "", input)
      prg = json.loads(prg)
  
      assert (
          len(outputs) == len(prg["outputs"]) == len(out_sizes)
      ), f"Model and exported outputs don't match: mdl={len(outputs)}, prg={len(prg['outputs'])}, inp_sizes={len(out_sizes)}"  # noqa: E501
  
      for i in range(len(outputs)):
          assert (
              f"output{i}" in out_sizes
          ), f"output{i} not captured in out_sizes"
          assert (
              f"output{i}" in prg["buffers"]
          ), f"output{i} not captured in exported buffers"
  
      for i, exported_output in enumerate(prg["outputs"]):
          assert (
              outputs[i].dtype.name == exported_output["dtype"]
          ), f"Model and exported output dtype don't match: mdl={outputs[i].dtype.name}, prg={exported_output['dtype']}"
  
file_path: tinygrad/test/extra/test_export_model.py
imports: import unittest
  from extra.export_model import export_model, EXPORT_SUPPORTED_DEVICE
  from tinygrad.tensor import Tensor, Device
  import json
label_desc: Use image node_id 2 for calling the TextModelExport obj's underlying member method code with example usage: obj.test_multi_output_model_export() without return types