class_docstr: A model augmented with parameter perturbations for iterated filtering.
class_docstr_tok: ["A","model","augmented","with","parameter","perturbations","for","iterated","filtering","."]
docstr: Runs one step of filtering to sharpen parameter estimates.
  
  Args:
    observations: observed `Tensor` value(s) on which to condition the
      parameter estimate.
    perturbation_scale: scalar float `Tensor`, or any structure of float
      `Tensor`s broadcasting to the same shape as the unconstrained
      parameters, specifying the scale (standard deviation) of Gaussian
      perturbations to each parameter at each timestep.
    num_particles: scalar int `Tensor` number of particles to use. Must match
      the batch dimension of `initial_unconstrained_parameters`, if specified.
    initial_unconstrained_parameters: optional structure of `Tensor`s, of
      shape matching
      `self.joint_initial_state_prior.sample([
      num_particles]).unconstrained_parameters`,
      used to initialize the filter.
      Default value: `None`.
    seed: PRNG seed; see `tfp.random.sanitize_seed` for details.
    name: `str` name for ops constructed by this method.
    **kwargs: additional keyword arguments passed to
      `tfp.experimental.mcmc.infer_trajectories`.
  Returns:
    final_unconstrained_parameters: structure of `Tensor`s matching
      `initial_unconstrained_parameters`, containing samples of
      unconstrained parameters at the final timestep, as computed by
      `self.filter_fn`.
docstr_tok: ["Runs","one","step","of","filtering","to","sharpen","parameter","estimates",".","Args",":","observations",":","observed","`","Tensor","`","value","(","s",")","on","which","to","condition","the","parameter","estimate",".","perturbation_scale",":","scalar","float","`","Tensor","`",",","or","any","structure","of","float","`","Tensor","`","s","broadcasting","to","the","same","shape","as","the","unconstrained","parameters",",","specifying","the","scale","(","standard","deviation",")","of","Gaussian","perturbations","to","each","parameter","at","each","timestep",".","num_particles",":","scalar","int","`","Tensor","`","number","of","particles","to","use",".","Must","match","the","batch","dimension","of","`","initial_unconstrained_parameters","`",",","if","specified",".","initial_unconstrained_parameters",":","optional","structure","of","`","Tensor","`","s",",","of","shape","matching","`","self.joint_initial_state_prior.sample","(","[","num_particles","]",")",".unconstrained_parameters","`",",","used","to","initialize","the","filter",".","Default","value",":","`","None","`",".","seed",":","PRNG","seed",";","see","`","tfp.random.sanitize_seed","`","for","details",".","name",":","`","str","`","name","for","ops","constructed","by","this","method",".","*","*","kwargs",":","additional","keyword","arguments","passed","to","`","tfp.experimental.mcmc.infer_trajectories","`",".","Returns",":","final_unconstrained_parameters",":","structure","of","`","Tensor","`","s","matching","`","initial_unconstrained_parameters","`",",","containing","samples","of","unconstrained","parameters","at","the","final","timestep",",","as","computed","by","`","self.filter_fn","`","."]
code: def one_step(
      self,
      observations,
      perturbation_scale,
      num_particles,
      initial_unconstrained_parameters=None,
      seed=None,
      name=None,
      **kwargs,
  ):
      """Runs one step of filtering to sharpen parameter estimates.
  
      Args:
        observations: observed `Tensor` value(s) on which to condition the
          parameter estimate.
        perturbation_scale: scalar float `Tensor`, or any structure of float
          `Tensor`s broadcasting to the same shape as the unconstrained
          parameters, specifying the scale (standard deviation) of Gaussian
          perturbations to each parameter at each timestep.
        num_particles: scalar int `Tensor` number of particles to use. Must match
          the batch dimension of `initial_unconstrained_parameters`, if specified.
        initial_unconstrained_parameters: optional structure of `Tensor`s, of
          shape matching
          `self.joint_initial_state_prior.sample([
          num_particles]).unconstrained_parameters`,
          used to initialize the filter.
          Default value: `None`.
        seed: PRNG seed; see `tfp.random.sanitize_seed` for details.
        name: `str` name for ops constructed by this method.
        **kwargs: additional keyword arguments passed to
          `tfp.experimental.mcmc.infer_trajectories`.
      Returns:
        final_unconstrained_parameters: structure of `Tensor`s matching
          `initial_unconstrained_parameters`, containing samples of
          unconstrained parameters at the final timestep, as computed by
          `self.filter_fn`.
      """
      with self._name_scope(name or "one_step"):
          # Run the particle filter.
          (
              unconstrained_parameter_trajectories,
              _,
          ), _ = infer_trajectories(
              observations=observations,
              initial_state_prior=self.joint_initial_state_prior,
              transition_fn=functools.partial(
                  self.joint_transition_fn,
                  perturbation_scale=perturbation_scale,
              ),
              observation_fn=self.joint_observation_fn,
              proposal_fn=self.joint_proposal_fn,
              initial_state_proposal=self.joint_initial_state_proposal(
                  initial_unconstrained_parameters
              ),
              num_particles=num_particles,
              seed=seed,
              **kwargs,
          )
          # Return the parameter estimates from the final step of the trajectory.
          return tf.nest.map_structure(
              lambda part: part[-1],
              unconstrained_parameter_trajectories,
          )
  
imports: import collections
  import contextlib
  import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import invert
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.experimental.mcmc.particle_filter import infer_trajectories
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 13 for calling the IteratedFilter obj's underlying member method code with example usage: obj.one_step(observations, perturbation_scale, num_particles, initial_unconstrained_parameters, seed, name) and returns: tf