code: def load_model(
      f: IO[bytes] | str | os.PathLike,
      format: _SupportedFormat | None = None,  # noqa: A002
      load_external_data: bool = True,
  ) -> ModelProto:
      """Loads a serialized ModelProto into memory.
  
      Args:
          f: can be a file-like object (has "read" function) or a string/PathLike containing a file name
          format: The serialization format. When it is not specified, it is inferred
              from the file extension when ``f`` is a path. If not specified _and_
              ``f`` is not a path, 'protobuf' is used. The encoding is assumed to
              be "utf-8" when the format is a text format.
          load_external_data: Whether to load the external data.
              Set to True if the data is under the same directory of the model.
              If not, users need to call :func:`load_external_data_for_model`
              with directory to load external data from.
  
      Returns:
          Loaded in-memory ModelProto.
      """
      model = _get_serializer(format, f).deserialize_proto(
          _load_bytes(f), ModelProto()
      )
  
      if load_external_data:
          model_filepath = _get_file_path(f)
          if model_filepath:
              base_dir = os.path.dirname(model_filepath)
              load_external_data_for_model(model, base_dir)
  
      return model
  
imports: from __future__ import annotations
  import os
  import typing
  from typing import IO, Literal, Union
  from onnx import serialization
  from onnx.onnx_cpp2py_export import ONNX_ML
  from onnx.external_data_helper import load_external_data_for_model, write_external_data_tensors, convert_model_to_external_data
  from onnx.onnx_pb import AttributeProto, EXPERIMENTAL, FunctionProto, GraphProto, IR_VERSION, IR_VERSION_2017_10_10, IR_VERSION_2017_10_30, IR_VERSION_2017_11_3, IR_VERSION_2019_1_22, IR_VERSION_2019_3_18, IR_VERSION_2019_9_19, IR_VERSION_2020_5_8, IR_VERSION_2021_7_30, ModelProto, NodeProto, OperatorSetIdProto, OperatorStatus, STABLE, SparseTensorProto, StringStringEntryProto, TensorAnnotation, TensorProto, TensorShapeProto, TrainingInfoProto, TypeProto, ValueInfoProto, Version
  from onnx.onnx_operators_pb import OperatorProto, OperatorSetProto
  from onnx.onnx_data_pb import MapProto, OptionalProto, SequenceProto
  from onnx.version import version
  from onnx import checker, compose, defs, gen_proto, helper, hub, mapping, numpy_helper, parser, printer, shape_inference, utils, version_converter
label_desc: Use image node_id 5 for calling a global function with example usage: load_model(f, format, load_external_data) and returns: model