class_docstr: Sequential Monte Carlo transition kernel.
  
  Sequential Monte Carlo maintains a population of weighted particles
  representing samples from a sequence of target distributions. It is
  *not* a calibrated MCMC kernel: the transitions step through a sequence of
  target distributions, rather than trying to maintain a stationary
  distribution.
class_docstr_tok: ["Sequential","Monte","Carlo","transition","kernel",".","Sequential","Monte","Carlo","maintains","a","population","of","weighted","particles","representing","samples","from","a","sequence","of","target","distributions",".","It","is","*","not","*","a","calibrated","MCMC","kernel",":","the","transitions","step","through","a","sequence","of","target","distributions",",","rather","than","trying","to","maintain","a","stationary","distribution","."]
code: def propose_and_update_log_weights_fn(self):
      return self._propose_and_update_log_weights_fn
  
imports: import collections
  import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.mcmc import weighted_resampling
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.mcmc import kernel
  from tensorflow_probability.python.mcmc.internal import util
label_desc: Use image node_id 4 for calling the SequentialMonteCarlo obj's underlying member method code with example usage: obj.propose_and_update_log_weights_fn() and returns: self