def prior_sample(self,<EOL>num_timesteps,<EOL>initial_step=<NUM_LIT:0>,<EOL>params_sample_shape=(),<EOL>trajectories_sample_shape=(),<EOL>seed=None):
seed = distributions.SeedStream(<EOL>seed, salt='<STR_LIT>')<EOL>with tf.compat.v1.name_scope(<EOL>'<STR_LIT>',<EOL>values=[num_timesteps, params_sample_shape, trajectories_sample_shape]):<EOL><INDENT>param_samples = [<EOL>p.prior.sample(params_sample_shape, seed=seed(), name=p.name)<EOL>for p in self.parameters<EOL>]<EOL>model = self.make_state_space_model(<EOL>num_timesteps=num_timesteps,<EOL>initial_step=initial_step,<EOL>param_vals=param_samples)<EOL>return model.sample(trajectories_sample_shape, seed=seed()), param_samples<EOL><DEDENT>
Sample from the joint prior over model parameters and trajectories.

        Args:
          num_timesteps: Scalar `int` `Tensor` number of timesteps to model.
          initial_step: Optional scalar `int` `Tensor` specifying the starting
            timestep.
              Default value: 0.
          params_sample_shape: Number of possible worlds to sample iid from the
            parameter prior, or more generally, `Tensor` `int` shape to fill with
            iid samples.
              Default value: [] (i.e., draw a single sample and don't expand the
              shape).
          trajectories_sample_shape: For each sampled set of parameters, number
            of trajectories to sample, or more generally, `Tensor` `int` shape to
            fill with iid samples.
            Default value: [] (i.e., draw a single sample and don't expand the
              shape).
          seed: Python `int` random seed.

        Returns:
          trajectories: `float` `Tensor` of shape
            `trajectories_sample_shape + params_sample_shape + [num_timesteps, 1]`
            containing all sampled trajectories.
          param_samples: list of sampled parameter value `Tensor`s, in order
            corresponding to `self.parameters`, each of shape
            `params_sample_shape + prior.batch_shape + prior.event_shape`.