View source on GitHub

Particles with corresponding log weights.

This structure serves as the state for the SequentialMonteCarlo transition kernel.


  • particles: a (structure of) Tensor(s) each of shape concat([[num_particles, b1, ..., bN], event_shape]), where event_shape may differ across component Tensors.
  • log_weights: float Tensor of shape [num_particles, b1, ..., bN] containing a log importance weight for each particle, typically normalized so that exp(reduce_logsumexp(log_weights, axis=0)) == 1.. These must be used in conjunction with particles to compute expectations under the target distribution.

In some contexts, particles may be stacked across multiple inference steps, in which case all Tensor shapes will be prefixed by an additional dimension of size num_steps.