code: def _instantiable_base_bijectors():
      """Computes the table of mechanically instantiable base Bijectors.
  
      A Bijector is mechanically instantiable if
  
      - The class appears as a symbol binding in `tfp.bijectors`;
      - The class defines a `_params_event_ndims` method (necessary
        to generate parameter Tensors with predictable batch shapes); and
      - The name is not blocklisted in `SPECIAL_BIJECTORS` or
        `NONINSTANTIABLE_BIJECTORS`.
  
      Returns:
        instantiable_base_bijectors: A Python dict mapping bijector name
          (as a string) to a `BijectorInfo` carrying the information necessary to
          instantiate it.
      """
      result = {}
      for bijector_name in dir(tfb):
          bijector_class = getattr(tfb, bijector_name)
          if (
              not inspect.isclass(bijector_class)
              or not issubclass(bijector_class, tfb.Bijector)
              or bijector_name in SPECIAL_BIJECTORS
              or bijector_name in NONINSTANTIABLE_BIJECTORS
          ):
              continue
          try:
              params_event_ndims = {
                  k: p.event_ndims
                  for (
                      k,
                      p,
                  ) in bijector_class.parameter_properties().items()
                  if p.is_tensor and p.event_ndims is not None
              }
              has_concrete_event_ndims = all(
                  isinstance(nd, int)
                  for nd in params_event_ndims.values()
              )
          except NotImplementedError:
              has_concrete_event_ndims = False
          if has_concrete_event_ndims:
              result[bijector_name] = BijectorInfo(
                  bijector_class, params_event_ndims
              )
          else:
              logging.warning(
                  "Unable to test tfb.%s: `parameter_properties()` is not "
                  "implemented or does not define concrete (integer) `event_ndims` "
                  "for all parameters.",
                  bijector_name,
              )
      return result
  
imports: import collections
  import inspect
  from absl import logging
  import hypothesis.strategies
  import tensorflow.compat.v2
  from tensorflow_probability.python import bijectors
  from tensorflow_probability.python.distributions import lkj
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 1 for calling a global function with example usage: _instantiable_base_bijectors() and returns: result