code: def cache_session_execution_info(
      self,
      graph_module: torch.fx.GraphModule,
      info: OrtExecutionInfoPerSession,
  ):
      if graph_module not in self.execution_info_per_graph_module:
          self.execution_info_per_graph_module[graph_module] = [info]
      else:
          self.execution_info_per_graph_module[graph_module].append(
              info
          )
  
imports: import dataclasses
  import importlib
  import logging
  from typing import Any, Dict, Final, List, Mapping, Optional, Sequence, Set, Tuple, Union
  from typing_extensions import TypeAlias
  import torch
  import torch._C
  import torch._ops
  import torch._prims.executor
  import torch.fx
  from torch._subclasses.fake_tensor import FakeTensor
  from torch.fx._compatibility import compatibility
  from torch.fx.passes.fake_tensor_prop import FakeTensorProp
  from torch.fx.passes.operator_support import OperatorSupport
  from torch.fx.passes.tools_common import CALLABLE_NODE_OPS
  from torch.utils import _pytree
label_desc: Use image node_id 3 for calling the OrtExecutionInfoForAllGraphModules obj's underlying member method code with example usage: obj.cache_session_execution_info(graph_module, info) without return types