class_docstr: Runs one step of Uncalibrated Langevin discretized diffusion.
  
  The class generates a Langevin proposal using `_euler_method` function and
  also computes helper `UncalibratedLangevinKernelResults` for the next
  iteration.
  
  Warning: this kernel will not result in a chain which converges to the
  `target_log_prob`. To get a convergent MCMC, use
  `MetropolisAdjustedLangevinAlgorithm(...)` or
  `MetropolisHastings(UncalibratedLangevin(...))`.
  
  For more details on `UncalibratedLangevin`, see
  `MetropolisAdjustedLangevinAlgorithm`.
class_docstr_tok: ["Runs","one","step","of","Uncalibrated","Langevin","discretized","diffusion",".","The","class","generates","a","Langevin","proposal","using","`","_euler_method","`","function","and","also","computes","helper","`","UncalibratedLangevinKernelResults","`","for","the","next","iteration",".","Warning",":","this","kernel","will","not","result","in","a","chain","which","converges","to","the","`","target_log_prob","`",".","To","get","a","convergent","MCMC",",","use","`","MetropolisAdjustedLangevinAlgorithm","(","...",")","`","or","`","MetropolisHastings","(","UncalibratedLangevin","(","...",")",")","`",".","For","more","details","on","`","UncalibratedLangevin","`",",","see","`","MetropolisAdjustedLangevinAlgorithm","`","."]
code: def bootstrap_results(self, init_state):
      with tf.name_scope(
          mcmc_util.make_name(self.name, "mala", "bootstrap_results")
      ):
          init_state_parts = (
              list(init_state)
              if mcmc_util.is_list_like(init_state)
              else [init_state]
          )
  
          init_state_parts = [
              tf.convert_to_tensor(x) for x in init_state_parts
          ]
          init_volatility = self.volatility_fn(
              *init_state_parts
          )  # pylint: disable=not-callable
  
          [
              _,  # state_parts
              _,  # step_sizes
              init_target_log_prob,
              init_grads_target_log_prob,
              init_volatility,
              init_grads_volatility,
              init_diffusion_drift,
          ] = _prepare_args(
              self.target_log_prob_fn,
              self.volatility_fn,
              state=init_state_parts,
              step_size=self.step_size,
              volatility=init_volatility,
              parallel_iterations=self.parallel_iterations,
          )
  
          def maybe_flatten(x):
              return x if mcmc_util.is_list_like(init_state) else x[0]
  
          return UncalibratedLangevinKernelResults(
              log_acceptance_correction=tf.zeros_like(
                  init_target_log_prob
              ),
              target_log_prob=init_target_log_prob,
              grads_target_log_prob=init_grads_target_log_prob,
              volatility=maybe_flatten(init_volatility),
              grads_volatility=init_grads_volatility,
              diffusion_drift=init_diffusion_drift,
              # Allow room for one_step's seed.
              seed=samplers.zeros_seed(),
          )
  
imports: import collections
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.math.diag_jacobian import diag_jacobian
  from tensorflow_probability.python.mcmc import kernel
  from tensorflow_probability.python.mcmc import metropolis_hastings
  from tensorflow_probability.python.mcmc.internal import util
label_desc: Use image node_id 11 for calling the UncalibratedLangevin obj's underlying member method code with example usage: obj.bootstrap_results(init_state) and returns: UncalibratedLangevinKernelResults, unknown