class_docstr: A model tracer similar to _symbolic_trace.Tracer, but with concrete execution and real value so we can pass complex conditions
  and go into correct brunches.
class_docstr_tok: ["A","model","tracer","similar","to","_symbolic_trace.Tracer",",","but","with","concrete","execution","and","real","value","so","we","can","pass","complex","conditions","and","go","into","correct","brunches","."]
docstr: This method is almost the same as the one in `TracerBase` class of Pytorch2.0.
  Add it here because this method of Pytorch1.13 and older version
  doesn't have the part related to `module_stack` and `node_name_to_scope`.
  If we don't add it here, we can not use these two attributes in Pytorch1.13 and older version.
docstr_tok: ["This","method","is","almost","the","same","as","the","one","in","`","TracerBase","`","class","of","Pytorch2.0",".","Add","it","here","because","this","method","of","Pytorch1.13","and","older","version","does","n't","have","the","part","related","to","`","module_stack","`","and","`","node_name_to_scope","`",".","If","we","do","n't","add","it","here",",","we","can","not","use","these","two","attributes","in","Pytorch1.13","and","older","version","."]
code: def create_node(
      self,
      kind: str,
      target: Target,
      args: Tuple[Argument, ...],
      kwargs: Dict[str, Argument],
      name: Optional[str] = None,
      type_expr: Optional[Any] = None,
  ) -> Node:
      """
      This method is almost the same as the one in `TracerBase` class of Pytorch2.0.
      Add it here because this method of Pytorch1.13 and older version
      doesn't have the part related to `module_stack` and `node_name_to_scope`.
      If we don't add it here, we can not use these two attributes in Pytorch1.13 and older version.
      """
      if kind == "call_function" and self.check_mutable_operations:
          check_for_mutable_operation(target, args, kwargs)
  
      node = self.graph.create_node(
          kind, target, args, kwargs, name, type_expr
      )
      # TODO node_name_to_scope will be depricated in favor of
      # node.meta['nn_module_stack']
      self.node_name_to_scope[node.name] = (
          self.scope.module_path,
          self.scope.module_type,
      )
      if self.module_stack:
          node.meta["nn_module_stack"] = copy.copy(self.module_stack)
      else:
          node.meta["nn_module_stack"] = collections.OrderedDict()
      return node
  
imports: from __future__ import annotations
  import collections
  import copy
  import sys
  import inspect
  import logging
  import operator
  import functools
  import builtins
  from itertools import chain
  from types import BuiltinMethodType, FunctionType, MethodDescriptorType, MethodType, MethodWrapperType, ModuleType
  from typing import Any, Dict, Iterable, Iterator, Optional, Set, Tuple, Type, List, Callable, Union
  from contextlib import contextmanager
  import torch
  from torch._C import ScriptObject
  from torch.nn.modules.container import Sequential, ModuleList, ModuleDict, ParameterList, ParameterDict
  from torch.utils._pytree import tree_map
  import torch.fx
  from torch.fx import GraphModule
  from torch.fx._compatibility import compatibility
  from torch.fx._symbolic_trace import _Patcher, _proxyable_classes
  from torch.fx.graph import Graph
  from torch.fx.node import Target, Node, Argument, _side_effectful_functions
  from torch.fx.proxy import TracerBase
  from torch.fx.operator_schemas import check_for_mutable_operation
  from .None import concrete_proxy
  from .operator_patcher import OperatorPatcherContext
  from .utils import _orig_module_call, _orig_module_getattr, _orig_module_getattribute, _orig_agfunc_apply, _orig_torch_assert, _orig_type, _orig_isinstance, _orig_issubclass, _orig_getattr, _orig_range, _orig_int, _orig_bool, _orig_tuple, _orig_list, _orig_set, _orig_frozenset, _orig_dict, _orig_map, _orig_zip, _orig_enumerate, _orig_slice, _orig_reversed, _orig_torch_size, _orig_torch_finfo, _orig_len, _orig_not, _orig_is, _orig_is_not, _orig_contains, _orig_index, _orig_all, _orig_min, _orig_max, _orig_node_is_impure
label_desc: Use image node_id 5 for calling the ConcreteTracer obj's underlying member method code with example usage: obj.create_node(kind, target, args, kwargs, name, type_expr) and returns: node