Apply to speak at TensorFlow World. Deadline April 23rd. Propose talk

tfp.mcmc.TransitionKernel

Class TransitionKernel

Base class for all MCMC TransitionKernels.

This class defines the minimal requirements to efficiently implement a Markov chain Monte Carlo (MCMC) transition kernel. A transition kernel returns a new state given some old state. It also takes (and returns) "side information" which may be used for debugging or optimization purposes (i.e, to "recycle" previously computed results).

Properties

is_calibrated

Returns True if Markov chain converges to specified distribution.

TransitionKernels which are "uncalibrated" are often calibrated by composing them with the tfp.mcmc.MetropolisHastings TransitionKernel.

Methods

bootstrap_results

bootstrap_results(init_state)

Returns an object with the same type as returned by one_step(...)[1].

Args:

  • init_state: Tensor or Python list of Tensors representing the initial state(s) of the Markov chain(s).

Returns:

  • kernel_results: A (possibly nested) tuple, namedtuple or list of Tensors representing internal calculations made within this function.

one_step

one_step(
    current_state,
    previous_kernel_results
)

Takes one step of the TransitionKernel.

Must be overridden by subclasses.

Args:

  • current_state: Tensor or Python list of Tensors representing the current state(s) of the Markov chain(s).
  • previous_kernel_results: A (possibly nested) tuple, namedtuple or list of Tensors representing internal calculations made within the previous call to this function (or as returned by bootstrap_results).

Returns:

  • next_state: Tensor or Python list of Tensors representing the next state(s) of the Markov chain(s).
  • kernel_results: A (possibly nested) tuple, namedtuple or list of Tensors representing internal calculations made within this function.