class_docstr: A generic transpiler for Python functions.
  
  Its interface is the `transform` API, which can process Python function
  objects. Internally, it handles parsing.
  
  Users typically subclass this, customizing the `transform_ast` method. The
  output of transformed_ast is returned directly by `transform`. Existing
  methods like `transform_function` may also be overloaded.
  
  Example:
  
      class MyTransformer(GenericTranspiler):
  
        def transform_ast(self, node, ctx):
          result = <<transform node>>
          return result
  
      transformer = MyTransfomer()
  
      result = transformer.transform(f, ...)
      # result is the output
class_docstr_tok: ["A","generic","transpiler","for","Python","functions",".","Its","interface","is","the","`","transform","`","API",",","which","can","process","Python","function","objects",".","Internally",",","it","handles","parsing",".","Users","typically","subclass","this",",","customizing","the","`","transform_ast","`","method",".","The","output","of","transformed_ast","is","returned","directly","by","`","transform","`",".","Existing","methods","like","`","transform_function","`","may","also","be","overloaded",".","Example",":","class","MyTransformer","(","GenericTranspiler",")",":","def","transform_ast","(","self",",","node",",","ctx",")",":","result","=","<","<","transform","node",">",">","return","result","transformer","=","MyTransfomer","(",")","result","=","transformer.transform","(","f",",","...",")","#","result","is","the","output"]
docstr: Performs an actual transformation of a function's AST.
  
  Subclasses must implement this method, and do not usually call it.
  
  Args:
    node: One or more ast.AST nodes representing the AST to be transformed.
    ctx: transformer.Context.
docstr_tok: ["Performs","an","actual","transformation","of","a","function","'s","AST",".","Subclasses","must","implement","this","method",",","and","do","not","usually","call","it",".","Args",":","node",":","One","or","more","ast.AST","nodes","representing","the","AST","to","be","transformed",".","ctx",":","transformer.Context","."]
code: def transform_ast(self, node, ctx):
      """Performs an actual transformation of a function's AST.
  
      Subclasses must implement this method, and do not usually call it.
  
      Args:
        node: One or more ast.AST nodes representing the AST to be transformed.
        ctx: transformer.Context.
      """
      raise NotImplementedError("subclasses must override this")
  
imports: import inspect
  import threading
  import types
  import gast
  from nvidia.dali._autograph.pyct import cache
  from nvidia.dali._autograph.pyct import gast_util
  from nvidia.dali._autograph.pyct import inspect_utils
  from nvidia.dali._autograph.pyct import loader
  from nvidia.dali._autograph.pyct import naming
  from nvidia.dali._autograph.pyct import origin_info
  from nvidia.dali._autograph.pyct import parser
  from nvidia.dali._autograph.pyct import templates
  from nvidia.dali._autograph.pyct import transformer
  from nvidia.dali._autograph.utils import ag_logging
label_desc: Use image node_id 2 for calling the GenericTranspiler obj's underlying member method code with example usage: obj.transform_ast(node, ctx) without return types