class_docstr: Since tfd.Sample uses transposes, it requires a custom event bijector.
class_docstr_tok: ["Since","tfd.Sample","uses","transposes",",","it","requires","a","custom","event","bijector","."]
code: def _inverse_log_det_jacobian(self, y, **kwargs):
      event_ndims = ps.rank_from_shape(
          self.distribution.event_shape_tensor,
          self.distribution.event_shape,
      )
      fn = functools.partial(
          self.bijector.inverse_log_det_jacobian,
          event_ndims=event_ndims,
      )
      underlying_ldj = self._transpose_around_bijector_fn(
          fn, arg=y, src_event_ndims=event_ndims, fn_reduces_event=True
      )
      return self._bcast_and_reduce_logdet(underlying_ldj)
  
imports: import functools
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import log_prob_ratio
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 11 for calling the _NonCompositeTensorDefaultSampleBijector obj's underlying member method code with example usage: obj._inverse_log_det_jacobian(y) and returns: self