class_docstr: Helper class uses for constructing Python bytecode
class_docstr_tok: ["Helper","class","uses","for","constructing","Python","bytecode"]
code: def __init__(
      self,
      tx=None,
      root: Optional[torch.nn.Module] = None,
      graph_output_var: Optional[str] = None,
      tempvars=None,
  ):
      self.root = root
      self.top_of_stack: Optional[VariableTracker] = None
      self.uses: Counter[VariableTracker] = collections.Counter()
      self.graph_outputs: Dict[int, GraphOutputEntry] = {}
      self._output: List[Instruction] = []
      self.tempvars = tempvars or {}
      self.tx = tx
      self.graph_output_var = graph_output_var
      self.code_options = self.tx.output.code_options
      self.cell_and_freevars = self.tx.cell_and_freevars
      self.new_var = self.tx.output.new_var
      self.mutable_side_effects_from_source = False
      self.value_from_source: bool = True
  
imports: import collections
  import dataclasses
  import re
  import sys
  import types
  from typing import Counter, Dict, List, Optional
  import torch.nn
  from .None import utils
  from .bytecode_transformation import create_call_function, create_dup_top, create_instruction, create_load_global, create_rot_n, Instruction
  from .exc import unimplemented
  from .source import AttrSource, Source
  from .utils import is_safe_constant, rot_n_helper
  from .variables.base import VariableTracker
  from .variables.nn_module import NNModuleVariable
  from .variables.tensor import NumpyNdarrayVariable, SymNodeVariable, TensorVariable, UnspecializedPythonVariable
  from .variables.torch_function import TensorWithTFOverrideVariable
label_desc: Use image node_id 1 to create a new PyCodegen object  with example: obj = PyCodegen(tx, root, graph_output_var, tempvars)