class_docstr: A subclass of `pyct.transformer.Base` implementing auto-batching.
  
  Specifically, converts some Python source P into a Python function that will
  invoke methods on a `dsl.ProgramBuilder` to register an auto-batchable version
  of P.  This class is private: use through the `transform` wrapper.
  
  The input is expected to be in A-normal form, so that all intermediate values
  are explicitly assigned.  As such, this class need only intercept function
  definitions, assignment statements, and control constructs.  At the moment,
  only supporting if, function call, and return.  TODO(axch): Expand the subset.
class_docstr_tok: ["A","subclass","of","`","pyct.transformer.Base","`","implementing","auto-batching",".","Specifically",",","converts","some","Python","source","P","into","a","Python","function","that","will","invoke","methods","on","a","`","dsl.ProgramBuilder","`","to","register","an","auto-batchable","version","of","P.","This","class","is","private",":","use","through","the","`","transform","`","wrapper",".","The","input","is","expected","to","be","in","A-normal","form",",","so","that","all","intermediate","values","are","explicitly","assigned",".","As","such",",","this","class","need","only","intercept","function","definitions",",","assignment","statements",",","and","control","constructs",".","At","the","moment",",","only","supporting","if",",","function","call",",","and","return",".","TODO","(","axch",")",":","Expand","the","subset","."]
docstr: Initializes an _AutoBatchingTransformer.
  
  Args:
    known_functions: List of Python strings.  These are the names of
      auto-batched functions.  Calls to the functions on this list (when
      recognized) are transformed into `ProgramBuilder.call` methods.  Other
      function calls become `ProgramBuilder.primop`.
    enclosing_names: List of Python variables.  These are names to draw from
      the transformee's enclosing scope (without turning them into autobatch
      variables).
    ctx: An AutoGraph `autograph.converter.EntityContext` object describing
      the node to be transformed, as returned by `_parse_and_analyze`.
      Inherits from `autograph.transformer.Context`, see
      `autograph.transformer.Base`.
code: def __init__(self, known_functions, enclosing_names, ctx):
      """Initializes an _AutoBatchingTransformer.
  
      Args:
        known_functions: List of Python strings.  These are the names of
          auto-batched functions.  Calls to the functions on this list (when
          recognized) are transformed into `ProgramBuilder.call` methods.  Other
          function calls become `ProgramBuilder.primop`.
        enclosing_names: List of Python variables.  These are names to draw from
          the transformee's enclosing scope (without turning them into autobatch
          variables).
        ctx: An AutoGraph `autograph.converter.EntityContext` object describing
          the node to be transformed, as returned by `_parse_and_analyze`.
          Inherits from `autograph.transformer.Context`, see
          `autograph.transformer.Base`.
      """
      self.known_functions = known_functions
      self.enclosing_names = enclosing_names
      super(_AutoBatchingTransformer, self).__init__(ctx)
  
imports: import contextlib
  import functools
  import gast
  import six
  import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.auto_batching import allocation_strategy
  from tensorflow_probability.python.experimental.auto_batching import dsl
  from tensorflow_probability.python.experimental.auto_batching import gast_util
  from tensorflow_probability.python.experimental.auto_batching import instructions
  from tensorflow_probability.python.experimental.auto_batching import lowering
  from tensorflow_probability.python.experimental.auto_batching import stack_optimization
  from tensorflow_probability.python.experimental.auto_batching import stackless
  from tensorflow_probability.python.experimental.auto_batching import tf_backend
  from tensorflow_probability.python.experimental.auto_batching import type_inference
  from tensorflow_probability.python.experimental.auto_batching import virtual_machine
  from tensorflow.python.autograph.converters import break_statements
  from tensorflow.python.autograph.converters import continue_statements
  from tensorflow.python.autograph.converters import return_statements
  from tensorflow.python.autograph.core import converter
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import inspect_utils
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.autograph.pyct import templates
  from tensorflow.python.autograph.pyct import transformer
  from tensorflow.python.autograph.pyct.common_transformers import anf
  from tensorflow.python.autograph.pyct.static_analysis import activity
label_desc: Use image node_id 1 to create a new _AutoBatchingTransformer object from inherited base classes: transformer with example: obj = _AutoBatchingTransformer(known_functions, enclosing_names, ctx)