code: def get_model_state_dict(
      model: nn.Module,
      *,
      submodules: Optional[Set[nn.Module]] = None,
      options: Optional[StateDictOptions] = None,
  ) -> Dict[str, ValueType]:
      """
      Return the model state_dict of ``model``.
  
      See ``get_state_dict`` for the detail usage.
  
      Args:
          model (nn.Module): the nn.Module to the model.
          submodules: Optional[Set[nn.Module]]: only return the model parameters
              that belong to the submodules.
          options (StateDictOptions): the options to control how
              model state_dict and optimizer state_dict should be returned. See
              `StateDictOptions` for the details.
  
      Returns:
          The state_dict for ``model``.
      """
      with gc_context():
          info = _verify_options(
              model,
              tuple(),
              optim_only=False,
              submodules=submodules,
              options=options,
          )
          model_state_dict = _get_model_state_dict(model, info)
          _verify_state_dict(model_state_dict, {}, info)
          return model_state_dict
  
imports: import contextlib
  import functools
  import gc
  from dataclasses import asdict, dataclass, field
  from itertools import chain
  from typing import Any, Callable, cast, Dict, Iterable, List, no_type_check, Optional, Set, Tuple, Union
  import torch
  import torch.distributed
  import torch.nn
  from torch.distributed._shard.sharded_tensor import ShardedTensor
  from torch.distributed._state_dict_utils import _gather_state_dict, _offload_state_dict_to_cpu
  from torch.distributed._tensor import DTensor
  from torch.distributed.fsdp import FullOptimStateDictConfig, FullStateDictConfig, FullyShardedDataParallel, OptimStateDictConfig, ShardedOptimStateDictConfig, ShardedStateDictConfig, StateDictConfig, StateDictType
  from torch.distributed.fsdp._common_utils import _get_module_fsdp_state_if_fully_sharded_module, FSDP_WRAPPED_MODULE
  from torch.nn.modules.module import _IncompatibleKeys
  from torch.nn.parallel import DistributedDataParallel
label_desc: Use image node_id 12 for calling a global function with example usage: get_model_state_dict(model) and returns: model_state_dict