class_docstr: Track side effects (list mutation, setattr, etc) that need to be
  applied after an FX graph is run.
class_docstr_tok: ["Track","side","effects","(","list","mutation",",","setattr",",","etc",")","that","need","to","be","applied","after","an","FX","graph","is","run","."]
code: def __init__(
      self,
      id_to_variable=None,
      store_attr_mutations=None,
      keepalive=None,
      save_for_backward=None,
      tensor_hooks=None,
  ):
      super().__init__()
      self.id_to_variable = id_to_variable or {}
      self.store_attr_mutations = store_attr_mutations or {}
      self.keepalive = keepalive or []
      self.save_for_backward = save_for_backward or []
      self.tensor_hooks = tensor_hooks or {}
  
imports: import inspect
  from typing import Any, Dict, List, Optional, Union
  import torch.nn
  from .None import utils, variables
  from .bytecode_transformation import create_call_function, create_call_method, create_instruction
  from .codegen import PyCodegen
  from .exc import unimplemented
  from .source import LocalSource, Source
  from .utils import nn_module_new, object_new
  from .variables.base import is_side_effect_safe, MutableLocalBase, MutableLocalSource, VariableTracker
label_desc: Use image node_id 1 to create a new SideEffects object  with example: obj = SideEffects(id_to_variable, store_attr_mutations, keepalive, save_for_backward, tensor_hooks)