From 331d2bf04acb0f3d5259272261bbc9ef2f460d11 Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 10 Dec 2023 22:31:55 +0100 Subject: [PATCH 01/24] SMC2 --- .../python/experimental/mcmc/BUILD | 8 +- .../experimental/mcmc/particle_filter.py | 403 ++++++- .../experimental/mcmc/particle_filter_test.py | 322 +++-- .../mcmc/sequential_monte_carlo_kernel.py | 11 +- .../sequential_monte_carlo_kernel_test.py | 16 +- tfp_nightly.egg-info/PKG-INFO | 244 ++++ tfp_nightly.egg-info/SOURCES.txt | 1068 +++++++++++++++++ tfp_nightly.egg-info/dependency_links.txt | 1 + tfp_nightly.egg-info/not-zip-safe | 1 + tfp_nightly.egg-info/requires.txt | 14 + tfp_nightly.egg-info/top_level.txt | 1 + 11 files changed, 1955 insertions(+), 134 deletions(-) create mode 100644 tfp_nightly.egg-info/PKG-INFO create mode 100644 tfp_nightly.egg-info/SOURCES.txt create mode 100644 tfp_nightly.egg-info/dependency_links.txt create mode 100644 tfp_nightly.egg-info/not-zip-safe create mode 100644 tfp_nightly.egg-info/requires.txt create mode 100644 tfp_nightly.egg-info/top_level.txt diff --git a/tensorflow_probability/python/experimental/mcmc/BUILD b/tensorflow_probability/python/experimental/mcmc/BUILD index 7fb140497b..aa2843bfb9 100644 --- a/tensorflow_probability/python/experimental/mcmc/BUILD +++ b/tensorflow_probability/python/experimental/mcmc/BUILD @@ -18,8 +18,6 @@ # //tensorflow_probability/python/internal/auto_batching # internally. -# Placeholder: py_library -# Placeholder: py_test load( "//tensorflow_probability/python:build_defs.bzl", "multi_substrate_py_library", @@ -548,6 +546,9 @@ multi_substrate_py_library( "//tensorflow_probability/python/internal:prefer_static", "//tensorflow_probability/python/internal:tensor_util", "//tensorflow_probability/python/internal:tensorshape_util", + "//tensorflow_probability/python/distributions:batch_reshape", + "//tensorflow_probability/python/distributions:batch_broadcast", + "//tensorflow_probability/python/distributions:independent" ], ) @@ -574,6 +575,8 @@ multi_substrate_py_test( "//tensorflow_probability/python/distributions:sample", "//tensorflow_probability/python/distributions:transformed_distribution", "//tensorflow_probability/python/distributions:uniform", + "//tensorflow_probability/python/distributions:categorical", + "//tensorflow_probability/python/distributions:hidden_markov_model", "//tensorflow_probability/python/internal:test_util", "//tensorflow_probability/python/math:gradient", # "//third_party/tensorflow/compiler/jit:xla_cpu_jit", # DisableOnExport @@ -652,6 +655,7 @@ multi_substrate_py_test( "//tensorflow_probability/python/distributions:mvn_diag", "//tensorflow_probability/python/distributions:normal", "//tensorflow_probability/python/distributions:sample", + "//tensorflow_probability/python/experimental/mcmc:sequential_monte_carlo_kernel", "//tensorflow_probability/python/distributions:uniform", "//tensorflow_probability/python/distributions/internal:statistical_testing", "//tensorflow_probability/python/internal:test_util", diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 1bcbc870f4..b920b0db85 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -25,6 +25,11 @@ from tensorflow_probability.python.internal import prefer_static as ps from tensorflow_probability.python.internal import samplers from tensorflow_probability.python.mcmc.internal import util as mcmc_util +from tensorflow_probability.python.distributions import batch_reshape +from tensorflow_probability.python.distributions import batch_broadcast +from tensorflow_probability.python.distributions import normal +from tensorflow_probability.python.distributions import uniform + __all__ = [ 'infer_trajectories', @@ -44,6 +49,39 @@ def _default_trace_fn(state, kernel_results): kernel_results.incremental_log_marginal_likelihood) +def _default_kernel(parameters): + mean, variance = tf.nn.moments(parameters, axes=[0]) + proposal_distribution = normal.Normal(loc=tf.fill(parameters.shape, mean), scale=tf.sqrt(variance)) + return proposal_distribution + + +def _default_extra_fn(step, + state, + seed + ): + return state.extra + + +def where_fn(accept, a, b, num_outer_particles, num_inner_particles): + is_scalar = tf.rank(a) == tf.constant(0) + is_nan = tf.math.is_nan(tf.cast(a, tf.float32)) + is_all_nan = tf.reduce_all(is_nan) + if is_scalar and is_all_nan: + return a + elif a.shape == 2 and b.shape == 2: + # extra + return a + elif a.shape == num_outer_particles and b.shape == num_outer_particles: + return mcmc_util.choose(accept, a, b) + elif a.shape == [num_outer_particles, num_inner_particles] and \ + b.shape == [num_outer_particles, num_inner_particles]: + return mcmc_util.choose(accept, a, b) + elif a.shape == () and b.shape == (): + return a + else: + raise ValueError("Unexpected tensor shapes") + + particle_filter_arg_str = """\ Each latent state is a `Tensor` or nested structure of `Tensor`s, as defined by the `initial_state_prior`. @@ -435,6 +473,344 @@ def seeded_one_step(seed_state_results, _): return traced_results +def smc_squared( + inner_observations, + initial_parameter_prior, + num_outer_particles, + inner_initial_state_prior, + inner_transition_fn, + inner_observation_fn, + num_inner_particles, + outer_trace_fn=_default_trace_fn, + outer_rejuvenation_criterion_fn=None, + outer_resample_criterion_fn=None, + outer_resample_fn=weighted_resampling.resample_systematic, + inner_resample_criterion_fn=smc_kernel.ess_below_threshold, + inner_resample_fn=weighted_resampling.resample_systematic, + extra_fn=_default_extra_fn, + parameter_proposal_kernel=_default_kernel, + inner_proposal_fn=None, + inner_initial_state_proposal=None, + outer_trace_criterion_fn=_always_trace, + parallel_iterations=1, + num_transitions_per_observation=1, + static_trace_allocation_size=None, + initial_parameter_proposal=None, + unbiased_gradients=True, + seed=None, +): + init_seed, loop_seed, step_seed = samplers.split_seed(seed, n=3, salt='smc_squared') + + num_observation_steps = ps.size0(tf.nest.flatten(inner_observations)[0]) + + # TODO: The following two lines compensates for having the first empty step in smc2 + num_timesteps = (1 + num_transitions_per_observation * + (num_observation_steps - 1)) + 1 + last_obs_expanded = tf.expand_dims(inner_observations[-1], axis=0) + inner_observations = tf.concat([inner_observations, last_obs_expanded], axis=0) + + if outer_rejuvenation_criterion_fn is None: + outer_rejuvenation_criterion_fn = lambda *_: tf.constant(False) + + if outer_resample_criterion_fn is None: + outer_resample_criterion_fn = lambda *_: tf.constant(False) + + # If trace criterion is `None`, we'll return only the final results. + never_trace = lambda *_: False + if outer_trace_criterion_fn is None: + static_trace_allocation_size = 0 + outer_trace_criterion_fn = never_trace + + if initial_parameter_proposal is None: + initial_state = initial_parameter_prior.sample(num_outer_particles, + seed=seed) + initial_log_weights = ps.zeros_like( + initial_parameter_prior.log_prob(initial_state)) + else: + initial_state = initial_parameter_proposal.sample(num_outer_particles, + seed=seed) + initial_log_weights = ( + initial_parameter_prior.log_prob(initial_state) - + initial_parameter_proposal.log_prob(initial_state) + ) + + # Normalize the initial weights. If we used a proposal, the weights are + # normalized in expectation, but actually normalizing them reduces variance. + initial_log_weights = tf.nn.log_softmax(initial_log_weights, axis=0) + + inner_weighted_particles = _particle_filter_initial_weighted_particles( + observations=inner_observations, + observation_fn=inner_observation_fn(initial_state), + initial_state_prior=inner_initial_state_prior(0, initial_state), + initial_state_proposal=(inner_initial_state_proposal(0, initial_state) + if inner_initial_state_proposal is not None else None), + num_particles=num_inner_particles, + particles_dim=1, + seed=seed + ) + + init_state = smc_kernel.WeightedParticles(*inner_weighted_particles) + + batch_zeros = tf.zeros(ps.shape(initial_state)) + + initial_filter_results = smc_kernel.SequentialMonteCarloResults( + steps=0, + parent_indices=smc_kernel._dummy_indices_like(init_state.log_weights), + incremental_log_marginal_likelihood=batch_zeros, + accumulated_log_marginal_likelihood=batch_zeros, + seed=samplers.zeros_seed()) + + initial_state = smc_kernel.WeightedParticles( + particles=(initial_state, + inner_weighted_particles, + initial_filter_results.parent_indices, + initial_filter_results.incremental_log_marginal_likelihood, + initial_filter_results.accumulated_log_marginal_likelihood), + log_weights=initial_log_weights, + extra=(tf.constant(0), + initial_filter_results.seed) + ) + + outer_propose_and_update_log_weights_fn = ( + _outer_particle_filter_propose_and_update_log_weights_fn( + outer_rejuvenation_criterion_fn=outer_rejuvenation_criterion_fn, + inner_observations=inner_observations, + inner_transition_fn=inner_transition_fn, + inner_proposal_fn=inner_proposal_fn, + inner_observation_fn=inner_observation_fn, + inner_resample_fn=inner_resample_fn, + inner_resample_criterion_fn=inner_resample_criterion_fn, + parameter_proposal_kernel=parameter_proposal_kernel, + initial_parameter_prior=initial_parameter_prior, + num_transitions_per_observation=num_transitions_per_observation, + unbiased_gradients=unbiased_gradients, + inner_initial_state_prior=inner_initial_state_prior, + inner_initial_state_proposal=inner_initial_state_proposal, + num_inner_particles=num_inner_particles, + num_outer_particles=num_outer_particles, + extra_fn=extra_fn + ) + ) + + traced_results = sequential_monte_carlo( + initial_weighted_particles=initial_state, + propose_and_update_log_weights_fn=outer_propose_and_update_log_weights_fn, + resample_fn=outer_resample_fn, + resample_criterion_fn=outer_resample_criterion_fn, + trace_criterion_fn=outer_trace_criterion_fn, + static_trace_allocation_size=static_trace_allocation_size, + parallel_iterations=parallel_iterations, + unbiased_gradients=unbiased_gradients, + num_steps=num_timesteps, + particles_dim=0, + trace_fn=outer_trace_fn, + seed=loop_seed + ) + + return traced_results + + +def _outer_particle_filter_propose_and_update_log_weights_fn( + inner_observations, + inner_transition_fn, + inner_proposal_fn, + inner_observation_fn, + initial_parameter_prior, + inner_initial_state_prior, + inner_initial_state_proposal, + num_transitions_per_observation, + inner_resample_fn, + inner_resample_criterion_fn, + outer_rejuvenation_criterion_fn, + unbiased_gradients, + parameter_proposal_kernel, + num_inner_particles, + num_outer_particles, + extra_fn +): + """Build a function specifying a particle filter update step.""" + def _outer_propose_and_update_log_weights_fn(step, state, seed=None): + outside_parameters = state.particles[0] + inner_weighted_particles, log_weights = state.particles[1], state.log_weights + + filter_results = smc_kernel.SequentialMonteCarloResults( + steps=step, + parent_indices=state.particles[2], + incremental_log_marginal_likelihood=state.particles[3], + accumulated_log_marginal_likelihood=state.particles[4], + seed=state.extra[1]) + + inner_propose_and_update_log_weights_fn = ( + _particle_filter_propose_and_update_log_weights_fn( + observations=inner_observations, + transition_fn=inner_transition_fn(outside_parameters), + proposal_fn=(inner_proposal_fn(outside_parameters) + if inner_proposal_fn is not None else None), + observation_fn=inner_observation_fn(outside_parameters), + particles_dim=1, + num_transitions_per_observation=num_transitions_per_observation, + extra_fn=extra_fn + ) + ) + + kernel = smc_kernel.SequentialMonteCarlo( + propose_and_update_log_weights_fn=inner_propose_and_update_log_weights_fn, + resample_fn=inner_resample_fn, + resample_criterion_fn=inner_resample_criterion_fn, + particles_dim=1, + unbiased_gradients=unbiased_gradients + ) + + inner_weighted_particles, filter_results = kernel.one_step(inner_weighted_particles, + filter_results, + seed=seed) + + updated_log_weights = log_weights + filter_results.incremental_log_marginal_likelihood + + do_rejuvenation = outer_rejuvenation_criterion_fn(step, state) + + def rejuvenate_particles(outside_parameters, updated_log_weights, inner_weighted_particles, filter_results): + proposed_parameters = parameter_proposal_kernel(outside_parameters).sample(seed=seed) + + rej_params_log_weights = ps.zeros_like( + initial_parameter_prior.log_prob(proposed_parameters) + ) + rej_params_log_weights = tf.nn.log_softmax(rej_params_log_weights, axis=0) + + rej_inner_weighted_particles = _particle_filter_initial_weighted_particles( + observations=inner_observations, + observation_fn=inner_observation_fn(proposed_parameters), + initial_state_prior=inner_initial_state_prior(0, proposed_parameters), + initial_state_proposal=(inner_initial_state_proposal(0, proposed_parameters) + if inner_initial_state_proposal is not None else None), + num_particles=num_inner_particles, + particles_dim=1, + seed=seed) + + batch_zeros = tf.zeros(ps.shape(log_weights)) + + rej_filter_results = smc_kernel.SequentialMonteCarloResults( + steps=tf.constant(0, dtype=tf.int32), + parent_indices=smc_kernel._dummy_indices_like( + rej_inner_weighted_particles.log_weights + ), + incremental_log_marginal_likelihood=batch_zeros, + accumulated_log_marginal_likelihood=batch_zeros, + seed=samplers.zeros_seed()) + + rej_inner_particles_weights = rej_inner_weighted_particles.log_weights + + rej_inner_propose_and_update_log_weights_fn = ( + _particle_filter_propose_and_update_log_weights_fn( + observations=inner_observations, + transition_fn=inner_transition_fn(proposed_parameters), + proposal_fn=(inner_proposal_fn(proposed_parameters) + if inner_proposal_fn is not None else None), + observation_fn=inner_observation_fn(proposed_parameters), + extra_fn=extra_fn, + particles_dim=1, + num_transitions_per_observation=num_transitions_per_observation) + ) + + rej_kernel = smc_kernel.SequentialMonteCarlo( + propose_and_update_log_weights_fn=rej_inner_propose_and_update_log_weights_fn, + resample_fn=inner_resample_fn, + resample_criterion_fn=inner_resample_criterion_fn, + particles_dim=1, + unbiased_gradients=unbiased_gradients) + + def condition(i, + rej_inner_weighted_particles, + rej_filter_results, + rej_parameters_weights, + rej_params_log_weights): + return tf.less_equal(i, step) + + def body(i, + rej_inner_weighted_particles, + rej_filter_results, + rej_parameters_weights, + rej_params_log_weights): + + rej_inner_weighted_particles, rej_filter_results = rej_kernel.one_step( + rej_inner_weighted_particles, rej_filter_results, seed=seed + ) + + rej_parameters_weights += rej_inner_weighted_particles.log_weights + + rej_params_log_weights = rej_params_log_weights + rej_filter_results.incremental_log_marginal_likelihood + return i + 1, rej_inner_weighted_particles, rej_filter_results, rej_parameters_weights, rej_params_log_weights + + i, rej_inner_weighted_particles, rej_filter_results, rej_inner_particles_weights, rej_params_log_weights = tf.while_loop( + condition, + body, + loop_vars=[0, + rej_inner_weighted_particles, + rej_filter_results, + rej_inner_particles_weights, + rej_params_log_weights + ] + ) + + log_a = rej_filter_results.accumulated_log_marginal_likelihood - \ + filter_results.accumulated_log_marginal_likelihood + \ + parameter_proposal_kernel(proposed_parameters).log_prob(outside_parameters) - \ + parameter_proposal_kernel(outside_parameters).log_prob(proposed_parameters) + + acceptance_probs = tf.minimum(1., tf.exp(log_a)) + + random_numbers = uniform.Uniform(0., 1.).sample(num_outer_particles, seed=seed) + + # Determine if the proposed particle should be accepted or reject + accept = random_numbers > acceptance_probs + + # Update the chosen particles and filter restults based on the acceptance step + outside_parameters = tf.where(accept, outside_parameters, proposed_parameters) + updated_log_weights = tf.where(accept, updated_log_weights, rej_params_log_weights) + + inner_weighted_particles_particles = mcmc_util.choose( + accept, + inner_weighted_particles.particles, + rej_inner_weighted_particles.particles + ) + inner_weighted_particles_log_weights = mcmc_util.choose( + accept, + inner_weighted_particles.log_weights, + rej_inner_weighted_particles.log_weights + ) + + inner_weighted_particles = smc_kernel.WeightedParticles( + particles=inner_weighted_particles_particles, + log_weights=inner_weighted_particles_log_weights, + extra=inner_weighted_particles.extra + ) + + filter_results = tf.nest.map_structure( + lambda a, b: where_fn(accept, a, b, num_outer_particles, num_inner_particles), + filter_results, + rej_filter_results + ) + + return outside_parameters, updated_log_weights, inner_weighted_particles, filter_results + + outside_parameters, updated_log_weights, inner_weighted_particles, filter_results = tf.cond( + do_rejuvenation, + lambda: (rejuvenate_particles(outside_parameters, updated_log_weights, inner_weighted_particles, filter_results)), + lambda: (outside_parameters, updated_log_weights, inner_weighted_particles, filter_results) + ) + + return smc_kernel.WeightedParticles( + particles=(outside_parameters, + inner_weighted_particles, + filter_results.parent_indices, + filter_results.incremental_log_marginal_likelihood, + filter_results.accumulated_log_marginal_likelihood), + log_weights=updated_log_weights, + extra=(step, + filter_results.seed)) + return _outer_propose_and_update_log_weights_fn + + @docstring_util.expand_docstring( particle_filter_arg_str=particle_filter_arg_str.format(scibor_ref_idx=1)) def particle_filter(observations, @@ -442,6 +818,7 @@ def particle_filter(observations, transition_fn, observation_fn, num_particles, + extra_fn=_default_extra_fn, initial_state_proposal=None, proposal_fn=None, resample_fn=weighted_resampling.resample_systematic, @@ -526,7 +903,9 @@ def particle_filter(observations, particles_dim=particles_dim, proposal_fn=proposal_fn, observation_fn=observation_fn, - num_transitions_per_observation=num_transitions_per_observation)) + num_transitions_per_observation=num_transitions_per_observation, + extra_fn=extra_fn + )) return sequential_monte_carlo( initial_weighted_particles=initial_weighted_particles, @@ -549,6 +928,7 @@ def _particle_filter_initial_weighted_particles(observations, initial_state_proposal, num_particles, particles_dim=0, + extra=np.nan, seed=None): """Initialize a set of weighted particles including the first observation.""" # Propose an initial state. @@ -574,6 +954,14 @@ def _particle_filter_initial_weighted_particles(observations, axis=particles_dim) # Return particles weighted by the initial observation. + if extra is np.nan: + if len(ps.shape(initial_log_weights)) == 1: + # initial extra for particle filter + extra = tf.constant(0) + else: + # initial extra for inner particles of smc_squared + extra = tf.constant(0, shape=ps.shape(initial_log_weights)) + return smc_kernel.WeightedParticles( particles=initial_state, log_weights=initial_log_weights + _compute_observation_log_weights( @@ -581,7 +969,8 @@ def _particle_filter_initial_weighted_particles(observations, particles=initial_state, observations=observations, observation_fn=observation_fn, - particles_dim=particles_dim)) + particles_dim=particles_dim), + extra=extra) def _particle_filter_propose_and_update_log_weights_fn( @@ -589,6 +978,7 @@ def _particle_filter_propose_and_update_log_weights_fn( transition_fn, proposal_fn, observation_fn, + extra_fn, num_transitions_per_observation=1, particles_dim=0): """Build a function specifying a particle filter update step.""" @@ -619,13 +1009,18 @@ def propose_and_update_log_weights_fn(step, state, seed=None): else: proposed_particles = transition_dist.sample(seed=seed) + updated_extra = extra_fn(step, + state, + seed) + with tf.control_dependencies(assertions): return smc_kernel.WeightedParticles( particles=proposed_particles, log_weights=log_weights + _compute_observation_log_weights( step + 1, proposed_particles, observations, observation_fn, num_transitions_per_observation=num_transitions_per_observation, - particles_dim=particles_dim)) + particles_dim=particles_dim), + extra=updated_extra) return propose_and_update_log_weights_fn @@ -670,6 +1065,8 @@ def _compute_observation_log_weights(step, observation = tf.nest.map_structure( lambda x, step=step: tf.gather(x, observation_idx), observations) + if particles_dim == 1: + observation = tf.expand_dims(observation, axis=0) observation = tf.nest.map_structure( lambda x: tf.expand_dims(x, axis=particles_dim), observation) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 6508eb6231..e190c76bda 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -21,6 +21,7 @@ from tensorflow_probability.python.bijectors import shift from tensorflow_probability.python.distributions import bernoulli from tensorflow_probability.python.distributions import deterministic +from tensorflow_probability.python.distributions import independent from tensorflow_probability.python.distributions import joint_distribution_auto_batched as jdab from tensorflow_probability.python.distributions import joint_distribution_named as jdn from tensorflow_probability.python.distributions import linear_gaussian_ssm as lgssm @@ -177,128 +178,6 @@ def observation_fn(_, state): self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) - def test_batch_of_filters_particles_dim_1(self): - - batch_shape = [3, 2] - num_particles = 1000 - num_timesteps = 40 - - # Batch of priors on object 1D positions and velocities. - initial_state_prior = jdn.JointDistributionNamed({ - 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), - 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) - }) - - def transition_fn(_, previous_state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=previous_state['position'] + previous_state['velocity'], - scale=0.1), - 'velocity': - normal.Normal(loc=previous_state['velocity'], scale=0.01) - }) - - def observation_fn(_, state): - return normal.Normal(loc=state['position'], scale=0.1) - - # Batch of synthetic observations, . - true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - true_velocities = 0.1 * np.random.randn( - *batch_shape).astype(self.dtype) - observed_positions = ( - true_velocities * - np.arange(num_timesteps).astype( - self.dtype)[..., tf.newaxis, tf.newaxis] + - true_initial_positions) - - (particles, log_weights, parent_indices, - incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed(), - particles_dim=1)) - - self.assertAllEqual(particles['position'].shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(particles['velocity'].shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(parent_indices.shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - self.assertAllClose( - self.evaluate( - tf.reduce_sum(tf.exp(log_weights) * - particles['position'], axis=2)), - observed_positions, - atol=0.3) - - velocity_means = tf.reduce_sum(tf.exp(log_weights) * - particles['velocity'], axis=2) - - self.assertAllClose( - self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - true_velocities, atol=0.05) - - # Uncertainty in velocity should decrease over time. - velocity_stddev = self.evaluate( - tf.math.reduce_std(particles['velocity'], axis=2)) - self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, - parent_indices, - particles_dim=1)) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['velocity'].shape) - - # Verify that `infer_trajectories` also works on batches. - trajectories, incremental_log_marginal_likelihoods = self.evaluate( - particle_filter.infer_trajectories( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - particles_dim=1, - seed=test_util.test_seed())) - - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['velocity'].shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - def test_reconstruct_trajectories_toy_example(self): particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) # 1 -- 4 -- 7 @@ -734,6 +613,205 @@ def marginal_log_likelihood(level_scale, noise_scale): self.assertAllNotNone(grads) self.assertAllAssertsNested(self.assertNotAllZero, grads) + def test_smc_squared_rejuvenation_parameters(self): + def particle_dynamics(params, _, previous_state): + reshaped_params = tf.reshape(params, [params.shape[0]] + [1] * (previous_state.shape.rank - 1)) + broadcasted_params = tf.broadcast_to(reshaped_params, previous_state.shape) + return normal.Normal(previous_state + broadcasted_params + 1, 0.1) + + def rejuvenation_criterion(step, state): + # Rejuvenation every 2 steps + cond = tf.logical_and( + tf.equal(tf.math.mod(step, tf.constant(2)), tf.constant(0)), + tf.not_equal(state.extra[0], tf.constant(0)) + ) + return tf.cond(cond, lambda: tf.constant(True), lambda: tf.constant(False)) + + inner_observations = tf.range(30, dtype=tf.float32) + + num_outer_particles = 3 + num_inner_particles = 7 + + loc = tf.broadcast_to([0., 0.], [num_outer_particles, 2]) + scale_diag = tf.broadcast_to([0.05, 0.05], [num_outer_particles, 2]) + + params, inner_pt = self.evaluate(particle_filter.smc_squared( + inner_observations=inner_observations, + inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( + loc=loc, scale_diag=scale_diag + ), + initial_parameter_prior=normal.Normal(3., 1.), + num_outer_particles=num_outer_particles, + num_inner_particles=num_inner_particles, + outer_rejuvenation_criterion_fn=rejuvenation_criterion, + inner_transition_fn=lambda params: ( + lambda _, state: independent.Independent(particle_dynamics(params, _, state), 1)), + inner_observation_fn=lambda params: ( + lambda _, state: independent.Independent(normal.Normal(state, 2.), 1)), + outer_trace_fn=lambda s, r: ( + s.particles[0], + s.particles[1] + ), + parameter_proposal_kernel=lambda params: normal.Normal(params, 3), + seed=test_util.test_seed() + ) + ) + + abs_params = tf.abs(params) + differences = abs_params[1:] - abs_params[:-1] + mask_parameters = tf.reduce_all(tf.less_equal(differences, 0), axis=0) + + self.assertAllTrue(mask_parameters) + + def test_smc_squared_can_step_dynamics_faster_than_observations(self): + initial_state_prior = jdn.JointDistributionNamed({ + 'position': deterministic.Deterministic([1.]), + 'velocity': deterministic.Deterministic([0.]) + }) + + # Use 100 steps between observations to integrate a simple harmonic + # oscillator. + dt = 0.01 + def simple_harmonic_motion_transition_fn(_, state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=state['position'] + dt * state['velocity'], + scale=dt * 0.01), + 'velocity': + normal.Normal( + loc=state['velocity'] - dt * state['position'], + scale=dt * 0.01) + }) + + def observe_position(_, state): + return normal.Normal(loc=state['position'], scale=0.01) + + particles, lps = self.evaluate(particle_filter.smc_squared( + inner_observations=tf.convert_to_tensor( + [tf.math.cos(0.), tf.math.cos(1.)]), + inner_initial_state_prior=lambda _, params: initial_state_prior, + initial_parameter_prior=deterministic.Deterministic(0.), + num_outer_particles=1, + inner_transition_fn=lambda params: simple_harmonic_motion_transition_fn, + inner_observation_fn=lambda params: observe_position, + num_inner_particles=1024, + outer_trace_fn=lambda s, r: ( + s.particles[1].particles, + s.particles[3] + ), + num_transitions_per_observation=100, + seed=test_util.test_seed()) + ) + + self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, 1, 1024])) + + self.assertAllClose(tf.transpose(np.mean(particles['position'], axis=-1)), + tf.reshape(tf.math.cos(dt * np.arange(102)), [1, -1]), + atol=0.04) + + self.assertAllEqual(ps.shape(lps), [102, 1]) + self.assertGreater(lps[1][0], 1.) + self.assertGreater(lps[-1][0], 3.) + + def test_smc_squared_custom_outer_trace_fn(self): + def trace_fn(state, _): + # Traces the mean and stddev of the particle population at each step. + weights = tf.exp(state[0][1].log_weights[0]) + mean = tf.reduce_sum(weights * state[0][1].particles[0], axis=0) + variance = tf.reduce_sum( + weights * (state[0][1].particles[0] - mean[tf.newaxis, ...]) ** 2) + return {'mean': mean, + 'stddev': tf.sqrt(variance), + # In real usage we would likely not track the particles and + # weights. We keep them here just so we can double-check the + # stats, below. + 'particles': state[0][1].particles[0], + 'weights': weights} + + results = self.evaluate(particle_filter.smc_squared( + inner_observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + inner_initial_state_prior=lambda _, params: normal.Normal([0.], 1.), + initial_parameter_prior=deterministic.Deterministic(0.), + inner_transition_fn=lambda params: (lambda _, state: normal.Normal(state, 1.)), + inner_observation_fn=lambda params: (lambda _, state: normal.Normal(state, 1.)), + num_inner_particles=1024, + num_outer_particles=1, + outer_trace_fn=trace_fn, + seed=test_util.test_seed()) + ) + + # Verify that posterior means are increasing. + self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) + + # Check that our traced means and scales match values computed + # by averaging over particles after the fact. + all_means = self.evaluate(tf.reduce_sum( + results['weights'] * results['particles'], axis=1)) + all_variances = self.evaluate( + tf.reduce_sum( + results['weights'] * + (results['particles'] - all_means[..., tf.newaxis])**2, + axis=1)) + self.assertAllClose(results['mean'], all_means) + self.assertAllClose(results['stddev'], np.sqrt(all_variances)) + + def test_smc_squared_indices_to_trace(self): + num_outer_particles = 7 + num_inner_particles = 13 + + def rejuvenation_criterion(step, state): + # Rejuvenation every 3 steps + cond = tf.logical_and( + tf.equal(tf.math.mod(step, tf.constant(3)), tf.constant(0)), + tf.not_equal(state.extra[0], tf.constant(0)) + ) + return tf.cond(cond, lambda: tf.constant(True), lambda: tf.constant(False)) + + (parameters, weight_parameters, inner_particles, inner_log_weights, lp) = self.evaluate( + particle_filter.smc_squared( + inner_observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_parameter_prior=deterministic.Deterministic(0.), + inner_initial_state_prior=lambda _, params: normal.Normal([0.] * num_outer_particles, 1.), + inner_transition_fn=lambda params: (lambda _, state: normal.Normal(state, 10.)), + inner_observation_fn=lambda params: (lambda _, state: normal.Normal(state, 0.1)), + num_inner_particles=num_inner_particles, + num_outer_particles=num_outer_particles, + outer_rejuvenation_criterion_fn=rejuvenation_criterion, + outer_trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda + s.particles[0], + s.log_weights, + s.particles[1].particles, + s.particles[1].log_weights, + r.accumulated_log_marginal_likelihood), + seed=test_util.test_seed()) + ) + + # TODO: smc_squared at the moment starts his run with an empty step + self.assertAllEqual(ps.shape(parameters), [6, 7]) + self.assertAllEqual(ps.shape(weight_parameters), [6, 7]) + self.assertAllEqual(ps.shape(inner_particles), [6, 7, 13]) + self.assertAllEqual(ps.shape(inner_log_weights), [6, 7, 13]) + self.assertAllEqual(ps.shape(lp), [6]) + + def test_extra(self): + def step_hundred(step, state, seed): + return step * 2 + + results = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 1.), + observation_fn=lambda _, state: normal.Normal(state, 1.), + num_particles=1024, + extra_fn=step_hundred, + trace_fn=lambda s, r: s.extra, + seed=test_util.test_seed()) + ) + + self.assertAllEqual(results, [0, 0, 2, 4, 6]) + # TODO(b/186068104): add tests with dynamic shapes. class ParticleFilterTestFloat32(_ParticleFilterTest): diff --git a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py index 73cb0f8414..300418c87d 100644 --- a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py +++ b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py @@ -34,7 +34,7 @@ # SequentialMonteCarlo `state` structure. class WeightedParticles(collections.namedtuple( - 'WeightedParticles', ['particles', 'log_weights'])): + 'WeightedParticles', ['particles', 'log_weights', 'extra'])): """Particles with corresponding log weights. This structure serves as the `state` for the `SequentialMonteCarlo` transition @@ -50,6 +50,10 @@ class WeightedParticles(collections.namedtuple( `exp(reduce_logsumexp(log_weights, axis=0)) == 1.`. These must be used in conjunction with `particles` to compute expectations under the target distribution. + extra: a (structure of) Tensor(s) each of shape + `concat([[b1, ..., bN], event_shape])`, where `event_shape` + may differ across component `Tensor`s. This represents global state of the + sampling process that is not associated with individual particles. In some contexts, particles may be stacked across multiple inference steps, in which case all `Tensor` shapes will be prefixed by an additional dimension @@ -292,7 +296,7 @@ def one_step(self, state, kernel_results, seed=None): - tf.gather(normalized_log_weights, 0, axis=self.particles_dim)) do_resample = self.resample_criterion_fn( - state, particles_dim=self.particles_dim) + state, self.particles_dim) # Some batch elements may require resampling and others not, so # we first do the resampling for all elements, then select whether to # use the resampled values for each batch element according to @@ -326,7 +330,8 @@ def one_step(self, state, kernel_results, seed=None): normalized_log_weights)) return (WeightedParticles(particles=resampled_particles, - log_weights=log_weights), + log_weights=log_weights, + extra=state.extra), SequentialMonteCarloResults( steps=kernel_results.steps + 1, parent_indices=resample_indices, diff --git a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py index 2a9302a420..2e29f6c4dd 100644 --- a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py +++ b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py @@ -42,7 +42,9 @@ def propose_and_update_log_weights_fn(_, weighted_particles, seed=None): return WeightedParticles( particles=proposed_particles, log_weights=weighted_particles.log_weights + - normal.Normal(loc=-2.6, scale=0.1).log_prob(proposed_particles)) + normal.Normal(loc=-2.6, scale=0.1).log_prob(proposed_particles), + extra=tf.constant(np.nan) + ) num_particles = 16 initial_state = self.evaluate( @@ -50,7 +52,9 @@ def propose_and_update_log_weights_fn(_, weighted_particles, seed=None): particles=tf.random.normal([num_particles], seed=test_util.test_seed()), log_weights=tf.fill([num_particles], - -tf.math.log(float(num_particles))))) + -tf.math.log(float(num_particles))), + extra=tf.constant(np.nan) + )) # Run a couple of steps. seeds = samplers.split_seed( @@ -96,7 +100,9 @@ def testMarginalLikelihoodGradientIsDefined(self): WeightedParticles( particles=samplers.normal([num_particles], seed=seeds[0]), log_weights=tf.fill([num_particles], - -tf.math.log(float(num_particles))))) + -tf.math.log(float(num_particles))), + extra=tf.constant(np.nan) + )) def propose_and_update_log_weights_fn(_, weighted_particles, @@ -110,7 +116,9 @@ def propose_and_update_log_weights_fn(_, particles=proposed_particles, log_weights=(weighted_particles.log_weights + transition_dist.log_prob(proposed_particles) - - proposal_dist.log_prob(proposed_particles))) + proposal_dist.log_prob(proposed_particles)), + extra=tf.constant(np.nan) + ) def marginal_logprob(transition_scale): kernel = SequentialMonteCarlo( diff --git a/tfp_nightly.egg-info/PKG-INFO b/tfp_nightly.egg-info/PKG-INFO new file mode 100644 index 0000000000..96ea3cdd82 --- /dev/null +++ b/tfp_nightly.egg-info/PKG-INFO @@ -0,0 +1,244 @@ +Metadata-Version: 2.1 +Name: tfp-nightly +Version: 0.24.0.dev0 +Summary: Probabilistic modeling and statistical inference in TensorFlow +Home-page: http://github.com/tensorflow/probability +Author: Google LLC +Author-email: no-reply@google.com +License: Apache 2.0 +Keywords: tensorflow probability statistics bayesian machine learning +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Education +Classifier: Intended Audience :: Science/Research +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Topic :: Scientific/Engineering +Classifier: Topic :: Scientific/Engineering :: Mathematics +Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >=3.9 +Description-Content-Type: text/markdown +Provides-Extra: jax +Provides-Extra: tfds +License-File: LICENSE + +# TensorFlow Probability + +TensorFlow Probability is a library for probabilistic reasoning and statistical +analysis in TensorFlow. As part of the TensorFlow ecosystem, TensorFlow +Probability provides integration of probabilistic methods with deep networks, +gradient-based inference via automatic differentiation, and scalability to +large datasets and models via hardware acceleration (e.g., GPUs) and distributed +computation. + +__TFP also works as "Tensor-friendly Probability" in pure JAX!__: +`from tensorflow_probability.substrates import jax as tfp` -- +Learn more [here](https://www.tensorflow.org/probability/examples/TensorFlow_Probability_on_JAX). + +Our probabilistic machine learning tools are structured as follows. + +__Layer 0: TensorFlow.__ Numerical operations. In particular, the LinearOperator +class enables matrix-free implementations that can exploit special structure +(diagonal, low-rank, etc.) for efficient computation. It is built and maintained +by the TensorFlow Probability team and is now part of +[`tf.linalg`](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/python/ops/linalg) +in core TF. + +__Layer 1: Statistical Building Blocks__ + +* Distributions ([`tfp.distributions`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/distributions)): + A large collection of probability + distributions and related statistics with batch and + [broadcasting](https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) + semantics. See the + [Distributions Tutorial](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Distributions_Tutorial.ipynb). +* Bijectors ([`tfp.bijectors`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/bijectors)): + Reversible and composable transformations of random variables. Bijectors + provide a rich class of transformed distributions, from classical examples + like the + [log-normal distribution](https://en.wikipedia.org/wiki/Log-normal_distribution) + to sophisticated deep learning models such as + [masked autoregressive flows](https://arxiv.org/abs/1705.07057). + +__Layer 2: Model Building__ + +* Joint Distributions (e.g., [`tfp.distributions.JointDistributionSequential`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/distributions/joint_distribution_sequential.py)): + Joint distributions over one or more possibly-interdependent distributions. + For an introduction to modeling with TFP's `JointDistribution`s, check out + [this colab](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Modeling_with_JointDistribution.ipynb) +* Probabilistic Layers ([`tfp.layers`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/layers)): + Neural network layers with uncertainty over the functions they represent, + extending TensorFlow Layers. + +__Layer 3: Probabilistic Inference__ + +* Markov chain Monte Carlo ([`tfp.mcmc`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/mcmc)): + Algorithms for approximating integrals via sampling. Includes + [Hamiltonian Monte Carlo](https://en.wikipedia.org/wiki/Hamiltonian_Monte_Carlo), + random-walk Metropolis-Hastings, and the ability to build custom transition + kernels. +* Variational Inference ([`tfp.vi`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/vi)): + Algorithms for approximating integrals via optimization. +* Optimizers ([`tfp.optimizer`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/optimizer)): + Stochastic optimization methods, extending TensorFlow Optimizers. Includes + [Stochastic Gradient Langevin Dynamics](http://www.icml-2011.org/papers/398_icmlpaper.pdf). +* Monte Carlo ([`tfp.monte_carlo`](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/python/monte_carlo)): + Tools for computing Monte Carlo expectations. + +TensorFlow Probability is under active development. Interfaces may change at any +time. + +## Examples + +See [`tensorflow_probability/examples/`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/) +for end-to-end examples. It includes tutorial notebooks such as: + +* [Linear Mixed Effects Models](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Linear_Mixed_Effects_Models.ipynb). + A hierarchical linear model for sharing statistical strength across examples. +* [Eight Schools](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Eight_Schools.ipynb). + A hierarchical normal model for exchangeable treatment effects. +* [Hierarchical Linear Models](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/HLM_TFP_R_Stan.ipynb). + Hierarchical linear models compared among TensorFlow Probability, R, and Stan. +* [Bayesian Gaussian Mixture Models](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Bayesian_Gaussian_Mixture_Model.ipynb). + Clustering with a probabilistic generative model. +* [Probabilistic Principal Components Analysis](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Probabilistic_PCA.ipynb). + Dimensionality reduction with latent variables. +* [Gaussian Copulas](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Gaussian_Copula.ipynb). + Probability distributions for capturing dependence across random variables. +* [TensorFlow Distributions: A Gentle Introduction](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Distributions_Tutorial.ipynb). + Introduction to TensorFlow Distributions. +* [Understanding TensorFlow Distributions Shapes](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Understanding_TensorFlow_Distributions_Shapes.ipynb). + How to distinguish between samples, batches, and events for arbitrarily shaped + probabilistic computations. +* [TensorFlow Probability Case Study: Covariance Estimation](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Probability_Case_Study_Covariance_Estimation.ipynb). + A user's case study in applying TensorFlow Probability to estimate covariances. + +It also includes example scripts such as: + + Representation learning with a latent code and variational inference. +* [Vector-Quantized Autoencoder](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/vq_vae.py). + Discrete representation learning with vector quantization. +* [Disentangled Sequential Variational Autoencoder](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/disentangled_vae.py) + Disentangled representation learning over sequences with variational inference. +* [Bayesian Neural Networks](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/bayesian_neural_network.py). + Neural networks with uncertainty over their weights. +* [Bayesian Logistic Regression](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/logistic_regression.py). + Bayesian inference for binary classification. + +## Installation + +For additional details on installing TensorFlow, guidance installing +prerequisites, and (optionally) setting up virtual environments, see the +[TensorFlow installation guide](https://www.tensorflow.org/install). + +### Stable Builds + +To install the latest stable version, run the following: + +```shell +# Notes: + +# - The `--upgrade` flag ensures you'll get the latest version. +# - The `--user` flag ensures the packages are installed to your user directory +# rather than the system directory. +# - TensorFlow 2 packages require a pip >= 19.0 +python -m pip install --upgrade --user pip +python -m pip install --upgrade --user tensorflow tensorflow_probability +``` + +For CPU-only usage (and a smaller install), install with `tensorflow-cpu`. + +To use a pre-2.0 version of TensorFlow, run: + +```shell +python -m pip install --upgrade --user "tensorflow<2" "tensorflow_probability<0.9" +``` + +Note: Since [TensorFlow](https://www.tensorflow.org/install) is *not* included +as a dependency of the TensorFlow Probability package (in `setup.py`), you must +explicitly install the TensorFlow package (`tensorflow` or `tensorflow-cpu`). +This allows us to maintain one package instead of separate packages for CPU and +GPU-enabled TensorFlow. See the +[TFP release notes](https://github.com/tensorflow/probability/releases) for more +details about dependencies between TensorFlow and TensorFlow Probability. + + +### Nightly Builds + +There are also nightly builds of TensorFlow Probability under the pip package +`tfp-nightly`, which depends on one of `tf-nightly` or `tf-nightly-cpu`. +Nightly builds include newer features, but may be less stable than the +versioned releases. Both stable and nightly docs are available +[here](https://www.tensorflow.org/probability/api_docs/python/tfp?version=nightly). + +```shell +python -m pip install --upgrade --user tf-nightly tfp-nightly +``` + +### Installing from Source + +You can also install from source. This requires the [Bazel]( +https://bazel.build/) build system. It is highly recommended that you install +the nightly build of TensorFlow (`tf-nightly`) before trying to build +TensorFlow Probability from source. + +```shell +# sudo apt-get install bazel git python-pip # Ubuntu; others, see above links. +python -m pip install --upgrade --user tf-nightly +git clone https://github.com/tensorflow/probability.git +cd probability +bazel build --copt=-O3 --copt=-march=native :pip_pkg +PKGDIR=$(mktemp -d) +./bazel-bin/pip_pkg $PKGDIR +python -m pip install --upgrade --user $PKGDIR/*.whl +``` + +## Community + +As part of TensorFlow, we're committed to fostering an open and welcoming +environment. + +* [Stack Overflow](https://stackoverflow.com/questions/tagged/tensorflow): Ask + or answer technical questions. +* [GitHub](https://github.com/tensorflow/probability/issues): Report bugs or + make feature requests. +* [TensorFlow Blog](https://blog.tensorflow.org/): Stay up to date on content + from the TensorFlow team and best articles from the community. +* [Youtube Channel](http://youtube.com/tensorflow/): Follow TensorFlow shows. +* [tfprobability@tensorflow.org](https://groups.google.com/a/tensorflow.org/forum/#!forum/tfprobability): + Open mailing list for discussion and questions. + +See the [TensorFlow Community](https://www.tensorflow.org/community/) page for +more details. Check out our latest publicity here: + ++ [Coffee with a Googler: Probabilistic Machine Learning in TensorFlow]( + https://www.youtube.com/watch?v=BjUkL8DFH5Q) ++ [Introducing TensorFlow Probability]( + https://medium.com/tensorflow/introducing-tensorflow-probability-dca4c304e245) + +## Contributing + +We're eager to collaborate with you! See [`CONTRIBUTING.md`](CONTRIBUTING.md) +for a guide on how to contribute. This project adheres to TensorFlow's +[code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to +uphold this code. + +## References + +If you use TensorFlow Probability in a paper, please cite: + ++ _TensorFlow Distributions._ Joshua V. Dillon, Ian Langmore, Dustin Tran, +Eugene Brevdo, Srinivas Vasudevan, Dave Moore, Brian Patton, Alex Alemi, Matt +Hoffman, Rif A. Saurous. +[arXiv preprint arXiv:1711.10604, 2017](https://arxiv.org/abs/1711.10604). + +(We're aware there's a lot more to TensorFlow Probability than Distributions, but the Distributions paper lays out our vision and is a fine thing to cite for now.) + + diff --git a/tfp_nightly.egg-info/SOURCES.txt b/tfp_nightly.egg-info/SOURCES.txt new file mode 100644 index 0000000000..8645f5fa31 --- /dev/null +++ b/tfp_nightly.egg-info/SOURCES.txt @@ -0,0 +1,1068 @@ +LICENSE +README.md +setup.py +tensorflow_probability/__init__.py +tensorflow_probability/python/__init__.py +tensorflow_probability/python/version.py +tensorflow_probability/python/bijectors/__init__.py +tensorflow_probability/python/bijectors/absolute_value.py +tensorflow_probability/python/bijectors/absolute_value_test.py +tensorflow_probability/python/bijectors/ascending.py +tensorflow_probability/python/bijectors/ascending_test.py +tensorflow_probability/python/bijectors/batch_normalization.py +tensorflow_probability/python/bijectors/batch_normalization_test.py +tensorflow_probability/python/bijectors/bijector.py +tensorflow_probability/python/bijectors/bijector_composition_test.py +tensorflow_probability/python/bijectors/bijector_properties_test.py +tensorflow_probability/python/bijectors/bijector_test.py +tensorflow_probability/python/bijectors/bijector_test_util.py +tensorflow_probability/python/bijectors/blockwise.py +tensorflow_probability/python/bijectors/blockwise_test.py +tensorflow_probability/python/bijectors/categorical_to_discrete.py +tensorflow_probability/python/bijectors/categorical_to_discrete_test.py +tensorflow_probability/python/bijectors/chain.py +tensorflow_probability/python/bijectors/chain_test.py +tensorflow_probability/python/bijectors/cholesky_outer_product.py +tensorflow_probability/python/bijectors/cholesky_outer_product_test.py +tensorflow_probability/python/bijectors/cholesky_to_inv_cholesky.py +tensorflow_probability/python/bijectors/cholesky_to_inv_cholesky_test.py +tensorflow_probability/python/bijectors/composition.py +tensorflow_probability/python/bijectors/correlation_cholesky.py +tensorflow_probability/python/bijectors/correlation_cholesky_test.py +tensorflow_probability/python/bijectors/cumsum.py +tensorflow_probability/python/bijectors/cumsum_test.py +tensorflow_probability/python/bijectors/discrete_cosine_transform.py +tensorflow_probability/python/bijectors/discrete_cosine_transform_test.py +tensorflow_probability/python/bijectors/exp.py +tensorflow_probability/python/bijectors/exp_test.py +tensorflow_probability/python/bijectors/expm1.py +tensorflow_probability/python/bijectors/expm1_test.py +tensorflow_probability/python/bijectors/ffjord.py +tensorflow_probability/python/bijectors/ffjord_test.py +tensorflow_probability/python/bijectors/fill_scale_tril.py +tensorflow_probability/python/bijectors/fill_scale_tril_test.py +tensorflow_probability/python/bijectors/fill_triangular.py +tensorflow_probability/python/bijectors/fill_triangular_test.py +tensorflow_probability/python/bijectors/frechet_cdf.py +tensorflow_probability/python/bijectors/frechet_cdf_test.py +tensorflow_probability/python/bijectors/generalized_pareto.py +tensorflow_probability/python/bijectors/generalized_pareto_test.py +tensorflow_probability/python/bijectors/gev_cdf.py +tensorflow_probability/python/bijectors/gev_cdf_test.py +tensorflow_probability/python/bijectors/glow.py +tensorflow_probability/python/bijectors/glow_test.py +tensorflow_probability/python/bijectors/gompertz_cdf.py +tensorflow_probability/python/bijectors/gompertz_cdf_test.py +tensorflow_probability/python/bijectors/gumbel_cdf.py +tensorflow_probability/python/bijectors/gumbel_cdf_test.py +tensorflow_probability/python/bijectors/householder.py +tensorflow_probability/python/bijectors/householder_test.py +tensorflow_probability/python/bijectors/hypothesis_testlib.py +tensorflow_probability/python/bijectors/identity.py +tensorflow_probability/python/bijectors/identity_test.py +tensorflow_probability/python/bijectors/inline.py +tensorflow_probability/python/bijectors/inline_test.py +tensorflow_probability/python/bijectors/invert.py +tensorflow_probability/python/bijectors/invert_test.py +tensorflow_probability/python/bijectors/iterated_sigmoid_centered.py +tensorflow_probability/python/bijectors/iterated_sigmoid_centered_test.py +tensorflow_probability/python/bijectors/joint_map.py +tensorflow_probability/python/bijectors/joint_map_test.py +tensorflow_probability/python/bijectors/kumaraswamy_cdf.py +tensorflow_probability/python/bijectors/kumaraswamy_cdf_test.py +tensorflow_probability/python/bijectors/lambertw_transform.py +tensorflow_probability/python/bijectors/lambertw_transform_test.py +tensorflow_probability/python/bijectors/ldj_ratio.py +tensorflow_probability/python/bijectors/ldj_ratio_test.py +tensorflow_probability/python/bijectors/masked_autoregressive.py +tensorflow_probability/python/bijectors/masked_autoregressive_test.py +tensorflow_probability/python/bijectors/matrix_inverse_tril.py +tensorflow_probability/python/bijectors/matrix_inverse_tril_test.py +tensorflow_probability/python/bijectors/moyal_cdf.py +tensorflow_probability/python/bijectors/moyal_cdf_test.py +tensorflow_probability/python/bijectors/normal_cdf.py +tensorflow_probability/python/bijectors/normal_cdf_test.py +tensorflow_probability/python/bijectors/pad.py +tensorflow_probability/python/bijectors/pad_test.py +tensorflow_probability/python/bijectors/permute.py +tensorflow_probability/python/bijectors/permute_test.py +tensorflow_probability/python/bijectors/power.py +tensorflow_probability/python/bijectors/power_test.py +tensorflow_probability/python/bijectors/power_transform.py +tensorflow_probability/python/bijectors/power_transform_test.py +tensorflow_probability/python/bijectors/rational_quadratic_spline.py +tensorflow_probability/python/bijectors/rational_quadratic_spline_test.py +tensorflow_probability/python/bijectors/rayleigh_cdf.py +tensorflow_probability/python/bijectors/rayleigh_cdf_test.py +tensorflow_probability/python/bijectors/real_nvp.py +tensorflow_probability/python/bijectors/real_nvp_test.py +tensorflow_probability/python/bijectors/reciprocal.py +tensorflow_probability/python/bijectors/reciprocal_test.py +tensorflow_probability/python/bijectors/reshape.py +tensorflow_probability/python/bijectors/reshape_test.py +tensorflow_probability/python/bijectors/restructure.py +tensorflow_probability/python/bijectors/restructure_test.py +tensorflow_probability/python/bijectors/scale.py +tensorflow_probability/python/bijectors/scale_matvec_diag.py +tensorflow_probability/python/bijectors/scale_matvec_diag_test.py +tensorflow_probability/python/bijectors/scale_matvec_linear_operator.py +tensorflow_probability/python/bijectors/scale_matvec_linear_operator_test.py +tensorflow_probability/python/bijectors/scale_matvec_lu.py +tensorflow_probability/python/bijectors/scale_matvec_lu_test.py +tensorflow_probability/python/bijectors/scale_matvec_tril.py +tensorflow_probability/python/bijectors/scale_matvec_tril_test.py +tensorflow_probability/python/bijectors/scale_test.py +tensorflow_probability/python/bijectors/shift.py +tensorflow_probability/python/bijectors/shift_test.py +tensorflow_probability/python/bijectors/shifted_gompertz_cdf.py +tensorflow_probability/python/bijectors/shifted_gompertz_cdf_test.py +tensorflow_probability/python/bijectors/sigmoid.py +tensorflow_probability/python/bijectors/sigmoid_test.py +tensorflow_probability/python/bijectors/sinh.py +tensorflow_probability/python/bijectors/sinh_arcsinh.py +tensorflow_probability/python/bijectors/sinh_arcsinh_test.py +tensorflow_probability/python/bijectors/sinh_test.py +tensorflow_probability/python/bijectors/soft_clip.py +tensorflow_probability/python/bijectors/soft_clip_test.py +tensorflow_probability/python/bijectors/softfloor.py +tensorflow_probability/python/bijectors/softfloor_test.py +tensorflow_probability/python/bijectors/softmax_centered.py +tensorflow_probability/python/bijectors/softmax_centered_test.py +tensorflow_probability/python/bijectors/softplus.py +tensorflow_probability/python/bijectors/softplus_test.py +tensorflow_probability/python/bijectors/softsign.py +tensorflow_probability/python/bijectors/softsign_test.py +tensorflow_probability/python/bijectors/split.py +tensorflow_probability/python/bijectors/split_test.py +tensorflow_probability/python/bijectors/square.py +tensorflow_probability/python/bijectors/square_test.py +tensorflow_probability/python/bijectors/tanh.py +tensorflow_probability/python/bijectors/tanh_test.py +tensorflow_probability/python/bijectors/transform_diagonal.py +tensorflow_probability/python/bijectors/transform_diagonal_test.py +tensorflow_probability/python/bijectors/transpose.py +tensorflow_probability/python/bijectors/transpose_test.py +tensorflow_probability/python/bijectors/unit_vector.py +tensorflow_probability/python/bijectors/unit_vector_test.py +tensorflow_probability/python/bijectors/weibull_cdf.py +tensorflow_probability/python/bijectors/weibull_cdf_test.py +tensorflow_probability/python/debugging/__init__.py +tensorflow_probability/python/debugging/benchmarking/__init__.py +tensorflow_probability/python/debugging/benchmarking/benchmark_tf_function.py +tensorflow_probability/python/distributions/__init__.py +tensorflow_probability/python/distributions/autoregressive.py +tensorflow_probability/python/distributions/autoregressive_test.py +tensorflow_probability/python/distributions/batch_broadcast.py +tensorflow_probability/python/distributions/batch_broadcast_test.py +tensorflow_probability/python/distributions/batch_concat.py +tensorflow_probability/python/distributions/batch_concat_test.py +tensorflow_probability/python/distributions/batch_reshape.py +tensorflow_probability/python/distributions/batch_reshape_test.py +tensorflow_probability/python/distributions/bates.py +tensorflow_probability/python/distributions/bates_test.py +tensorflow_probability/python/distributions/bernoulli.py +tensorflow_probability/python/distributions/bernoulli_test.py +tensorflow_probability/python/distributions/beta.py +tensorflow_probability/python/distributions/beta_binomial.py +tensorflow_probability/python/distributions/beta_binomial_test.py +tensorflow_probability/python/distributions/beta_quotient.py +tensorflow_probability/python/distributions/beta_quotient_test.py +tensorflow_probability/python/distributions/beta_test.py +tensorflow_probability/python/distributions/binomial.py +tensorflow_probability/python/distributions/binomial_test.py +tensorflow_probability/python/distributions/blockwise.py +tensorflow_probability/python/distributions/blockwise_test.py +tensorflow_probability/python/distributions/categorical.py +tensorflow_probability/python/distributions/categorical_test.py +tensorflow_probability/python/distributions/cauchy.py +tensorflow_probability/python/distributions/cauchy_test.py +tensorflow_probability/python/distributions/chi.py +tensorflow_probability/python/distributions/chi2.py +tensorflow_probability/python/distributions/chi2_test.py +tensorflow_probability/python/distributions/chi_test.py +tensorflow_probability/python/distributions/cholesky_lkj.py +tensorflow_probability/python/distributions/cholesky_lkj_test.py +tensorflow_probability/python/distributions/cholesky_util.py +tensorflow_probability/python/distributions/cholesky_util_test.py +tensorflow_probability/python/distributions/continuous_bernoulli.py +tensorflow_probability/python/distributions/continuous_bernoulli_test.py +tensorflow_probability/python/distributions/deterministic.py +tensorflow_probability/python/distributions/deterministic_test.py +tensorflow_probability/python/distributions/dirichlet.py +tensorflow_probability/python/distributions/dirichlet_multinomial.py +tensorflow_probability/python/distributions/dirichlet_multinomial_test.py +tensorflow_probability/python/distributions/dirichlet_test.py +tensorflow_probability/python/distributions/discrete_rejection_sampling.py +tensorflow_probability/python/distributions/discrete_rejection_sampling_test.py +tensorflow_probability/python/distributions/distribution.py +tensorflow_probability/python/distributions/distribution_properties_test.py +tensorflow_probability/python/distributions/distribution_test.py +tensorflow_probability/python/distributions/doublesided_maxwell.py +tensorflow_probability/python/distributions/doublesided_maxwell_test.py +tensorflow_probability/python/distributions/dpp.py +tensorflow_probability/python/distributions/dpp_test.py +tensorflow_probability/python/distributions/empirical.py +tensorflow_probability/python/distributions/empirical_test.py +tensorflow_probability/python/distributions/exp_gamma.py +tensorflow_probability/python/distributions/exp_gamma_test.py +tensorflow_probability/python/distributions/exponential.py +tensorflow_probability/python/distributions/exponential_test.py +tensorflow_probability/python/distributions/exponentially_modified_gaussian.py +tensorflow_probability/python/distributions/exponentially_modified_gaussian_test.py +tensorflow_probability/python/distributions/finite_discrete.py +tensorflow_probability/python/distributions/finite_discrete_test.py +tensorflow_probability/python/distributions/gamma.py +tensorflow_probability/python/distributions/gamma_gamma.py +tensorflow_probability/python/distributions/gamma_gamma_test.py +tensorflow_probability/python/distributions/gamma_test.py +tensorflow_probability/python/distributions/gaussian_process.py +tensorflow_probability/python/distributions/gaussian_process_regression_model.py +tensorflow_probability/python/distributions/gaussian_process_regression_model_test.py +tensorflow_probability/python/distributions/gaussian_process_test.py +tensorflow_probability/python/distributions/generalized_normal.py +tensorflow_probability/python/distributions/generalized_normal_test.py +tensorflow_probability/python/distributions/generalized_pareto.py +tensorflow_probability/python/distributions/generalized_pareto_test.py +tensorflow_probability/python/distributions/geometric.py +tensorflow_probability/python/distributions/geometric_test.py +tensorflow_probability/python/distributions/gev.py +tensorflow_probability/python/distributions/gev_test.py +tensorflow_probability/python/distributions/gumbel.py +tensorflow_probability/python/distributions/gumbel_test.py +tensorflow_probability/python/distributions/half_cauchy.py +tensorflow_probability/python/distributions/half_cauchy_test.py +tensorflow_probability/python/distributions/half_normal.py +tensorflow_probability/python/distributions/half_normal_test.py +tensorflow_probability/python/distributions/half_student_t.py +tensorflow_probability/python/distributions/half_student_t_test.py +tensorflow_probability/python/distributions/hidden_markov_model.py +tensorflow_probability/python/distributions/hidden_markov_model_test.py +tensorflow_probability/python/distributions/horseshoe.py +tensorflow_probability/python/distributions/horseshoe_test.py +tensorflow_probability/python/distributions/hypothesis_testlib.py +tensorflow_probability/python/distributions/independent.py +tensorflow_probability/python/distributions/independent_test.py +tensorflow_probability/python/distributions/inflated.py +tensorflow_probability/python/distributions/inflated_test.py +tensorflow_probability/python/distributions/inverse_gamma.py +tensorflow_probability/python/distributions/inverse_gamma_test.py +tensorflow_probability/python/distributions/inverse_gaussian.py +tensorflow_probability/python/distributions/inverse_gaussian_test.py +tensorflow_probability/python/distributions/jax_transformation_test.py +tensorflow_probability/python/distributions/johnson_su.py +tensorflow_probability/python/distributions/johnson_su_test.py +tensorflow_probability/python/distributions/joint_distribution.py +tensorflow_probability/python/distributions/joint_distribution_auto_batched.py +tensorflow_probability/python/distributions/joint_distribution_auto_batched_test.py +tensorflow_probability/python/distributions/joint_distribution_coroutine.py +tensorflow_probability/python/distributions/joint_distribution_coroutine_test.py +tensorflow_probability/python/distributions/joint_distribution_named.py +tensorflow_probability/python/distributions/joint_distribution_named_test.py +tensorflow_probability/python/distributions/joint_distribution_sequential.py +tensorflow_probability/python/distributions/joint_distribution_sequential_test.py +tensorflow_probability/python/distributions/joint_distribution_util.py +tensorflow_probability/python/distributions/joint_distribution_util_test.py +tensorflow_probability/python/distributions/kullback_leibler.py +tensorflow_probability/python/distributions/kullback_leibler_test.py +tensorflow_probability/python/distributions/kumaraswamy.py +tensorflow_probability/python/distributions/kumaraswamy_test.py +tensorflow_probability/python/distributions/lambertw_f.py +tensorflow_probability/python/distributions/lambertw_f_test.py +tensorflow_probability/python/distributions/laplace.py +tensorflow_probability/python/distributions/laplace_test.py +tensorflow_probability/python/distributions/linear_gaussian_ssm.py +tensorflow_probability/python/distributions/linear_gaussian_ssm_test.py +tensorflow_probability/python/distributions/lkj.py +tensorflow_probability/python/distributions/lkj_test.py +tensorflow_probability/python/distributions/log_prob_ratio.py +tensorflow_probability/python/distributions/logistic.py +tensorflow_probability/python/distributions/logistic_test.py +tensorflow_probability/python/distributions/logitnormal.py +tensorflow_probability/python/distributions/logitnormal_test.py +tensorflow_probability/python/distributions/loglogistic.py +tensorflow_probability/python/distributions/loglogistic_test.py +tensorflow_probability/python/distributions/lognormal.py +tensorflow_probability/python/distributions/lognormal_test.py +tensorflow_probability/python/distributions/markov_chain.py +tensorflow_probability/python/distributions/markov_chain_test.py +tensorflow_probability/python/distributions/masked.py +tensorflow_probability/python/distributions/masked_test.py +tensorflow_probability/python/distributions/matrix_normal_linear_operator.py +tensorflow_probability/python/distributions/matrix_normal_linear_operator_test.py +tensorflow_probability/python/distributions/matrix_t_linear_operator.py +tensorflow_probability/python/distributions/matrix_t_linear_operator_test.py +tensorflow_probability/python/distributions/mixture.py +tensorflow_probability/python/distributions/mixture_same_family.py +tensorflow_probability/python/distributions/mixture_same_family_test.py +tensorflow_probability/python/distributions/mixture_test.py +tensorflow_probability/python/distributions/moyal.py +tensorflow_probability/python/distributions/moyal_test.py +tensorflow_probability/python/distributions/multinomial.py +tensorflow_probability/python/distributions/multinomial_test.py +tensorflow_probability/python/distributions/multivariate_student_t.py +tensorflow_probability/python/distributions/multivariate_student_t_test.py +tensorflow_probability/python/distributions/mvn_diag.py +tensorflow_probability/python/distributions/mvn_diag_plus_low_rank.py +tensorflow_probability/python/distributions/mvn_diag_plus_low_rank_covariance.py +tensorflow_probability/python/distributions/mvn_diag_plus_low_rank_covariance_test.py +tensorflow_probability/python/distributions/mvn_diag_plus_low_rank_test.py +tensorflow_probability/python/distributions/mvn_diag_test.py +tensorflow_probability/python/distributions/mvn_full_covariance.py +tensorflow_probability/python/distributions/mvn_full_covariance_test.py +tensorflow_probability/python/distributions/mvn_linear_operator.py +tensorflow_probability/python/distributions/mvn_linear_operator_test.py +tensorflow_probability/python/distributions/mvn_low_rank_update_linear_operator_covariance.py +tensorflow_probability/python/distributions/mvn_low_rank_update_linear_operator_covariance_test.py +tensorflow_probability/python/distributions/mvn_tril.py +tensorflow_probability/python/distributions/mvn_tril_test.py +tensorflow_probability/python/distributions/negative_binomial.py +tensorflow_probability/python/distributions/negative_binomial_test.py +tensorflow_probability/python/distributions/noncentral_chi2.py +tensorflow_probability/python/distributions/noncentral_chi2_test.py +tensorflow_probability/python/distributions/normal.py +tensorflow_probability/python/distributions/normal_conjugate_posteriors.py +tensorflow_probability/python/distributions/normal_conjugate_posteriors_test.py +tensorflow_probability/python/distributions/normal_inverse_gaussian.py +tensorflow_probability/python/distributions/normal_inverse_gaussian_test.py +tensorflow_probability/python/distributions/normal_test.py +tensorflow_probability/python/distributions/numerical_properties_test.py +tensorflow_probability/python/distributions/onehot_categorical.py +tensorflow_probability/python/distributions/onehot_categorical_test.py +tensorflow_probability/python/distributions/ordered_logistic.py +tensorflow_probability/python/distributions/ordered_logistic_test.py +tensorflow_probability/python/distributions/pareto.py +tensorflow_probability/python/distributions/pareto_test.py +tensorflow_probability/python/distributions/pert.py +tensorflow_probability/python/distributions/pert_test.py +tensorflow_probability/python/distributions/pixel_cnn.py +tensorflow_probability/python/distributions/pixel_cnn_test.py +tensorflow_probability/python/distributions/plackett_luce.py +tensorflow_probability/python/distributions/plackett_luce_test.py +tensorflow_probability/python/distributions/platform_compatibility_test.py +tensorflow_probability/python/distributions/poisson.py +tensorflow_probability/python/distributions/poisson_lognormal.py +tensorflow_probability/python/distributions/poisson_lognormal_test.py +tensorflow_probability/python/distributions/poisson_test.py +tensorflow_probability/python/distributions/power_spherical.py +tensorflow_probability/python/distributions/power_spherical_test.py +tensorflow_probability/python/distributions/probit_bernoulli.py +tensorflow_probability/python/distributions/probit_bernoulli_test.py +tensorflow_probability/python/distributions/quantized_distribution.py +tensorflow_probability/python/distributions/quantized_distribution_test.py +tensorflow_probability/python/distributions/relaxed_bernoulli.py +tensorflow_probability/python/distributions/relaxed_bernoulli_test.py +tensorflow_probability/python/distributions/relaxed_onehot_categorical.py +tensorflow_probability/python/distributions/relaxed_onehot_categorical_test.py +tensorflow_probability/python/distributions/sample.py +tensorflow_probability/python/distributions/sample_test.py +tensorflow_probability/python/distributions/sigmoid_beta.py +tensorflow_probability/python/distributions/sigmoid_beta_test.py +tensorflow_probability/python/distributions/sinh_arcsinh.py +tensorflow_probability/python/distributions/sinh_arcsinh_test.py +tensorflow_probability/python/distributions/skellam.py +tensorflow_probability/python/distributions/skellam_test.py +tensorflow_probability/python/distributions/spherical_uniform.py +tensorflow_probability/python/distributions/spherical_uniform_test.py +tensorflow_probability/python/distributions/stochastic_process_properties_test.py +tensorflow_probability/python/distributions/stopping_ratio_logistic.py +tensorflow_probability/python/distributions/stopping_ratio_logistic_test.py +tensorflow_probability/python/distributions/student_t.py +tensorflow_probability/python/distributions/student_t_process.py +tensorflow_probability/python/distributions/student_t_process_regression_model.py +tensorflow_probability/python/distributions/student_t_process_regression_model_test.py +tensorflow_probability/python/distributions/student_t_process_test.py +tensorflow_probability/python/distributions/student_t_test.py +tensorflow_probability/python/distributions/transformed_distribution.py +tensorflow_probability/python/distributions/transformed_distribution_test.py +tensorflow_probability/python/distributions/triangular.py +tensorflow_probability/python/distributions/triangular_test.py +tensorflow_probability/python/distributions/truncated_cauchy.py +tensorflow_probability/python/distributions/truncated_cauchy_test.py +tensorflow_probability/python/distributions/truncated_normal.py +tensorflow_probability/python/distributions/truncated_normal_test.py +tensorflow_probability/python/distributions/two_piece_normal.py +tensorflow_probability/python/distributions/two_piece_normal_test.py +tensorflow_probability/python/distributions/two_piece_student_t.py +tensorflow_probability/python/distributions/two_piece_student_t_test.py +tensorflow_probability/python/distributions/uniform.py +tensorflow_probability/python/distributions/uniform_test.py +tensorflow_probability/python/distributions/untestable_distributions.py +tensorflow_probability/python/distributions/variational_gaussian_process.py +tensorflow_probability/python/distributions/variational_gaussian_process_test.py +tensorflow_probability/python/distributions/vector_exponential_linear_operator.py +tensorflow_probability/python/distributions/von_mises.py +tensorflow_probability/python/distributions/von_mises_fisher.py +tensorflow_probability/python/distributions/von_mises_fisher_test.py +tensorflow_probability/python/distributions/von_mises_test.py +tensorflow_probability/python/distributions/weibull.py +tensorflow_probability/python/distributions/weibull_test.py +tensorflow_probability/python/distributions/wishart.py +tensorflow_probability/python/distributions/wishart_test.py +tensorflow_probability/python/distributions/zipf.py +tensorflow_probability/python/distributions/zipf_test.py +tensorflow_probability/python/distributions/internal/__init__.py +tensorflow_probability/python/distributions/internal/correlation_matrix_volumes.py +tensorflow_probability/python/distributions/internal/correlation_matrix_volumes_lib.py +tensorflow_probability/python/distributions/internal/correlation_matrix_volumes_test.py +tensorflow_probability/python/distributions/internal/statistical_testing.py +tensorflow_probability/python/distributions/internal/statistical_testing_test.py +tensorflow_probability/python/distributions/internal/stochastic_process_util.py +tensorflow_probability/python/experimental/__init__.py +tensorflow_probability/python/experimental/auto_batching/__init__.py +tensorflow_probability/python/experimental/auto_batching/allocation_strategy.py +tensorflow_probability/python/experimental/auto_batching/allocation_strategy_test.py +tensorflow_probability/python/experimental/auto_batching/backend_test_lib.py +tensorflow_probability/python/experimental/auto_batching/dsl.py +tensorflow_probability/python/experimental/auto_batching/dsl_test.py +tensorflow_probability/python/experimental/auto_batching/frontend.py +tensorflow_probability/python/experimental/auto_batching/frontend_test.py +tensorflow_probability/python/experimental/auto_batching/gast_util.py +tensorflow_probability/python/experimental/auto_batching/instructions.py +tensorflow_probability/python/experimental/auto_batching/instructions_test.py +tensorflow_probability/python/experimental/auto_batching/liveness.py +tensorflow_probability/python/experimental/auto_batching/lowering.py +tensorflow_probability/python/experimental/auto_batching/lowering_test.py +tensorflow_probability/python/experimental/auto_batching/numpy_backend.py +tensorflow_probability/python/experimental/auto_batching/numpy_backend_test.py +tensorflow_probability/python/experimental/auto_batching/stack_optimization.py +tensorflow_probability/python/experimental/auto_batching/stack_optimization_test.py +tensorflow_probability/python/experimental/auto_batching/stackless.py +tensorflow_probability/python/experimental/auto_batching/stackless_test.py +tensorflow_probability/python/experimental/auto_batching/test_programs.py +tensorflow_probability/python/experimental/auto_batching/tf_backend.py +tensorflow_probability/python/experimental/auto_batching/tf_backend_test.py +tensorflow_probability/python/experimental/auto_batching/type_inference.py +tensorflow_probability/python/experimental/auto_batching/type_inference_test.py +tensorflow_probability/python/experimental/auto_batching/virtual_machine.py +tensorflow_probability/python/experimental/auto_batching/virtual_machine_test.py +tensorflow_probability/python/experimental/auto_batching/xla.py +tensorflow_probability/python/experimental/bayesopt/__init__.py +tensorflow_probability/python/experimental/bayesopt/acquisition/__init__.py +tensorflow_probability/python/experimental/bayesopt/acquisition/acquisition_function.py +tensorflow_probability/python/experimental/bayesopt/acquisition/acquisition_function_test.py +tensorflow_probability/python/experimental/bayesopt/acquisition/expected_improvement.py +tensorflow_probability/python/experimental/bayesopt/acquisition/expected_improvement_test.py +tensorflow_probability/python/experimental/bayesopt/acquisition/max_value_entropy_search.py +tensorflow_probability/python/experimental/bayesopt/acquisition/max_value_entropy_search_test.py +tensorflow_probability/python/experimental/bayesopt/acquisition/probability_of_improvement.py +tensorflow_probability/python/experimental/bayesopt/acquisition/probability_of_improvement_test.py +tensorflow_probability/python/experimental/bayesopt/acquisition/upper_confidence_bound.py +tensorflow_probability/python/experimental/bayesopt/acquisition/upper_confidence_bound_test.py +tensorflow_probability/python/experimental/bayesopt/acquisition/weighted_power_scalarization.py +tensorflow_probability/python/experimental/bayesopt/acquisition/weighted_power_scalarization_test.py +tensorflow_probability/python/experimental/bijectors/__init__.py +tensorflow_probability/python/experimental/bijectors/distribution_bijectors.py +tensorflow_probability/python/experimental/bijectors/distribution_bijectors_test.py +tensorflow_probability/python/experimental/bijectors/highway_flow.py +tensorflow_probability/python/experimental/bijectors/highway_flow_test.py +tensorflow_probability/python/experimental/bijectors/scalar_function_with_inferred_inverse.py +tensorflow_probability/python/experimental/bijectors/scalar_function_with_inferred_inverse_test.py +tensorflow_probability/python/experimental/bijectors/sharded.py +tensorflow_probability/python/experimental/bijectors/sharded_test.py +tensorflow_probability/python/experimental/distribute/__init__.py +tensorflow_probability/python/experimental/distribute/diagonal_mass_matrix_adaptation_test.py +tensorflow_probability/python/experimental/distribute/joint_distribution.py +tensorflow_probability/python/experimental/distribute/joint_distribution_test.py +tensorflow_probability/python/experimental/distribute/sharded.py +tensorflow_probability/python/experimental/distribute/sharded_test.py +tensorflow_probability/python/experimental/distributions/__init__.py +tensorflow_probability/python/experimental/distributions/importance_resample.py +tensorflow_probability/python/experimental/distributions/importance_resample_test.py +tensorflow_probability/python/experimental/distributions/increment_log_prob.py +tensorflow_probability/python/experimental/distributions/increment_log_prob_test.py +tensorflow_probability/python/experimental/distributions/joint_distribution_pinned.py +tensorflow_probability/python/experimental/distributions/joint_distribution_pinned_test.py +tensorflow_probability/python/experimental/distributions/marginal_fns.py +tensorflow_probability/python/experimental/distributions/marginal_fns_test.py +tensorflow_probability/python/experimental/distributions/multitask_gaussian_process.py +tensorflow_probability/python/experimental/distributions/multitask_gaussian_process_regression_model.py +tensorflow_probability/python/experimental/distributions/multitask_gaussian_process_regression_model_test.py +tensorflow_probability/python/experimental/distributions/multitask_gaussian_process_test.py +tensorflow_probability/python/experimental/distributions/mvn_precision_factor_linop.py +tensorflow_probability/python/experimental/distributions/mvn_precision_factor_linop_test.py +tensorflow_probability/python/experimental/joint_distribution_layers/__init__.py +tensorflow_probability/python/experimental/joint_distribution_layers/layers.py +tensorflow_probability/python/experimental/joint_distribution_layers/layers_test.py +tensorflow_probability/python/experimental/linalg/__init__.py +tensorflow_probability/python/experimental/linalg/linear_operator_interpolated_psd_kernel.py +tensorflow_probability/python/experimental/linalg/linear_operator_interpolated_psd_kernel_test.py +tensorflow_probability/python/experimental/linalg/linear_operator_psd_kernel.py +tensorflow_probability/python/experimental/linalg/linear_operator_psd_kernel_test.py +tensorflow_probability/python/experimental/linalg/linear_operator_row_block.py +tensorflow_probability/python/experimental/linalg/linear_operator_row_block_test.py +tensorflow_probability/python/experimental/linalg/linear_operator_unitary.py +tensorflow_probability/python/experimental/linalg/linear_operator_unitary_test.py +tensorflow_probability/python/experimental/linalg/no_pivot_ldl.py +tensorflow_probability/python/experimental/linalg/no_pivot_ldl_test.py +tensorflow_probability/python/experimental/marginalize/__init__.py +tensorflow_probability/python/experimental/marginalize/logeinsumexp.py +tensorflow_probability/python/experimental/marginalize/logeinsumexp_test.py +tensorflow_probability/python/experimental/marginalize/marginalizable.py +tensorflow_probability/python/experimental/marginalize/marginalizable_test.py +tensorflow_probability/python/experimental/math/__init__.py +tensorflow_probability/python/experimental/math/manual_special_functions.py +tensorflow_probability/python/experimental/math/manual_special_functions_test.py +tensorflow_probability/python/experimental/mcmc/__init__.py +tensorflow_probability/python/experimental/mcmc/covariance_reducer.py +tensorflow_probability/python/experimental/mcmc/covariance_reducer_test.py +tensorflow_probability/python/experimental/mcmc/diagonal_mass_matrix_adaptation.py +tensorflow_probability/python/experimental/mcmc/diagonal_mass_matrix_adaptation_test.py +tensorflow_probability/python/experimental/mcmc/elliptical_slice_sampler.py +tensorflow_probability/python/experimental/mcmc/elliptical_slice_sampler_test.py +tensorflow_probability/python/experimental/mcmc/expectations_reducer.py +tensorflow_probability/python/experimental/mcmc/expectations_reducer_test.py +tensorflow_probability/python/experimental/mcmc/gradient_based_trajectory_length_adaptation.py +tensorflow_probability/python/experimental/mcmc/gradient_based_trajectory_length_adaptation_test.py +tensorflow_probability/python/experimental/mcmc/initialization.py +tensorflow_probability/python/experimental/mcmc/initialization_test.py +tensorflow_probability/python/experimental/mcmc/kernel_builder.py +tensorflow_probability/python/experimental/mcmc/kernel_builder_test.py +tensorflow_probability/python/experimental/mcmc/kernel_outputs.py +tensorflow_probability/python/experimental/mcmc/kernel_outputs_test.py +tensorflow_probability/python/experimental/mcmc/nuts_autobatching.py +tensorflow_probability/python/experimental/mcmc/nuts_autobatching_test.py +tensorflow_probability/python/experimental/mcmc/nuts_autobatching_xla_test.py +tensorflow_probability/python/experimental/mcmc/particle_filter.py +tensorflow_probability/python/experimental/mcmc/particle_filter_augmentation.py +tensorflow_probability/python/experimental/mcmc/particle_filter_augmentation_test.py +tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +tensorflow_probability/python/experimental/mcmc/pnuts_test.py +tensorflow_probability/python/experimental/mcmc/potential_scale_reduction_reducer.py +tensorflow_probability/python/experimental/mcmc/potential_scale_reduction_reducer_test.py +tensorflow_probability/python/experimental/mcmc/preconditioned_hmc.py +tensorflow_probability/python/experimental/mcmc/preconditioned_hmc_test.py +tensorflow_probability/python/experimental/mcmc/preconditioned_nuts.py +tensorflow_probability/python/experimental/mcmc/preconditioning_utils.py +tensorflow_probability/python/experimental/mcmc/progress_bar_reducer.py +tensorflow_probability/python/experimental/mcmc/progress_bar_reducer_test.py +tensorflow_probability/python/experimental/mcmc/reducer.py +tensorflow_probability/python/experimental/mcmc/run.py +tensorflow_probability/python/experimental/mcmc/sample.py +tensorflow_probability/python/experimental/mcmc/sample_discarding_kernel.py +tensorflow_probability/python/experimental/mcmc/sample_discarding_kernel_test.py +tensorflow_probability/python/experimental/mcmc/sample_fold.py +tensorflow_probability/python/experimental/mcmc/sample_fold_test.py +tensorflow_probability/python/experimental/mcmc/sample_sequential_monte_carlo.py +tensorflow_probability/python/experimental/mcmc/sample_sequential_monte_carlo_test.py +tensorflow_probability/python/experimental/mcmc/sample_test.py +tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py +tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py +tensorflow_probability/python/experimental/mcmc/sharded.py +tensorflow_probability/python/experimental/mcmc/sharded_test.py +tensorflow_probability/python/experimental/mcmc/snaper_hmc.py +tensorflow_probability/python/experimental/mcmc/snaper_hmc_test.py +tensorflow_probability/python/experimental/mcmc/step.py +tensorflow_probability/python/experimental/mcmc/step_test.py +tensorflow_probability/python/experimental/mcmc/thermodynamic_integrals.py +tensorflow_probability/python/experimental/mcmc/thermodynamic_integrals_test.py +tensorflow_probability/python/experimental/mcmc/thinning_kernel.py +tensorflow_probability/python/experimental/mcmc/thinning_kernel_test.py +tensorflow_probability/python/experimental/mcmc/tracing_reducer.py +tensorflow_probability/python/experimental/mcmc/tracing_reducer_test.py +tensorflow_probability/python/experimental/mcmc/weighted_resampling.py +tensorflow_probability/python/experimental/mcmc/weighted_resampling_test.py +tensorflow_probability/python/experimental/mcmc/windowed_sampling.py +tensorflow_probability/python/experimental/mcmc/windowed_sampling_test.py +tensorflow_probability/python/experimental/mcmc/with_reductions.py +tensorflow_probability/python/experimental/mcmc/with_reductions_test.py +tensorflow_probability/python/experimental/mcmc/internal/__init__.py +tensorflow_probability/python/experimental/mcmc/internal/test_fixtures.py +tensorflow_probability/python/experimental/nn/__init__.py +tensorflow_probability/python/experimental/nn/affine_layers.py +tensorflow_probability/python/experimental/nn/affine_layers_test.py +tensorflow_probability/python/experimental/nn/convolutional_layers.py +tensorflow_probability/python/experimental/nn/convolutional_layers_test.py +tensorflow_probability/python/experimental/nn/convolutional_layers_v2.py +tensorflow_probability/python/experimental/nn/convolutional_layers_v2_test.py +tensorflow_probability/python/experimental/nn/convolutional_transpose_layers.py +tensorflow_probability/python/experimental/nn/convolutional_transpose_layers_test.py +tensorflow_probability/python/experimental/nn/layers.py +tensorflow_probability/python/experimental/nn/layers_test.py +tensorflow_probability/python/experimental/nn/variational_base.py +tensorflow_probability/python/experimental/nn/initializers/__init__.py +tensorflow_probability/python/experimental/nn/initializers/initializers.py +tensorflow_probability/python/experimental/nn/losses/__init__.py +tensorflow_probability/python/experimental/nn/losses/losses.py +tensorflow_probability/python/experimental/nn/util/__init__.py +tensorflow_probability/python/experimental/nn/util/convolution_util.py +tensorflow_probability/python/experimental/nn/util/convolution_util_test.py +tensorflow_probability/python/experimental/nn/util/kernel_bias.py +tensorflow_probability/python/experimental/nn/util/kernel_bias_test.py +tensorflow_probability/python/experimental/nn/util/random_variable.py +tensorflow_probability/python/experimental/nn/util/random_variable_test.py +tensorflow_probability/python/experimental/nn/util/utils.py +tensorflow_probability/python/experimental/parallel_filter/__init__.py +tensorflow_probability/python/experimental/parallel_filter/parallel_kalman_filter_lib.py +tensorflow_probability/python/experimental/parallel_filter/parallel_kalman_filter_test.py +tensorflow_probability/python/experimental/psd_kernels/__init__.py +tensorflow_probability/python/experimental/psd_kernels/additive_kernel.py +tensorflow_probability/python/experimental/psd_kernels/additive_kernel_test.py +tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_categorical.py +tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_categorical_test.py +tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_embedded_categorical.py +tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_embedded_categorical_test.py +tensorflow_probability/python/experimental/psd_kernels/multitask_kernel.py +tensorflow_probability/python/experimental/psd_kernels/multitask_kernel_test.py +tensorflow_probability/python/experimental/sequential/__init__.py +tensorflow_probability/python/experimental/sequential/ensemble_adjustment_kalman_filter.py +tensorflow_probability/python/experimental/sequential/ensemble_adjustment_kalman_filter_test.py +tensorflow_probability/python/experimental/sequential/ensemble_kalman_filter.py +tensorflow_probability/python/experimental/sequential/ensemble_kalman_filter_test.py +tensorflow_probability/python/experimental/sequential/extended_kalman_filter.py +tensorflow_probability/python/experimental/sequential/extended_kalman_filter_test.py +tensorflow_probability/python/experimental/sequential/iterated_filter.py +tensorflow_probability/python/experimental/sequential/iterated_filter_test.py +tensorflow_probability/python/experimental/stats/__init__.py +tensorflow_probability/python/experimental/stats/sample_stats.py +tensorflow_probability/python/experimental/stats/sample_stats_test.py +tensorflow_probability/python/experimental/sts_gibbs/__init__.py +tensorflow_probability/python/experimental/sts_gibbs/benchmarks_test.py +tensorflow_probability/python/experimental/sts_gibbs/dynamic_spike_and_slab.py +tensorflow_probability/python/experimental/sts_gibbs/dynamic_spike_and_slab_test.py +tensorflow_probability/python/experimental/sts_gibbs/gibbs_sampler.py +tensorflow_probability/python/experimental/sts_gibbs/gibbs_sampler_test.py +tensorflow_probability/python/experimental/sts_gibbs/sample_parameters.py +tensorflow_probability/python/experimental/sts_gibbs/sample_parameters_test.py +tensorflow_probability/python/experimental/sts_gibbs/spike_and_slab.py +tensorflow_probability/python/experimental/sts_gibbs/spike_and_slab_test.py +tensorflow_probability/python/experimental/substrates/__init__.py +tensorflow_probability/python/experimental/tangent_spaces/__init__.py +tensorflow_probability/python/experimental/tangent_spaces/simplex.py +tensorflow_probability/python/experimental/tangent_spaces/simplex_test.py +tensorflow_probability/python/experimental/tangent_spaces/spaces.py +tensorflow_probability/python/experimental/tangent_spaces/spaces_test.py +tensorflow_probability/python/experimental/tangent_spaces/spaces_test_util.py +tensorflow_probability/python/experimental/tangent_spaces/spherical.py +tensorflow_probability/python/experimental/tangent_spaces/spherical_test.py +tensorflow_probability/python/experimental/tangent_spaces/symmetric_matrix.py +tensorflow_probability/python/experimental/tangent_spaces/symmetric_matrix_test.py +tensorflow_probability/python/experimental/util/__init__.py +tensorflow_probability/python/experimental/util/composite_tensor.py +tensorflow_probability/python/experimental/util/deferred_module.py +tensorflow_probability/python/experimental/util/deferred_module_test.py +tensorflow_probability/python/experimental/util/jit_public_methods.py +tensorflow_probability/python/experimental/util/jit_public_methods_test.py +tensorflow_probability/python/experimental/util/special_methods.py +tensorflow_probability/python/experimental/util/trainable.py +tensorflow_probability/python/experimental/util/trainable_test.py +tensorflow_probability/python/experimental/vi/__init__.py +tensorflow_probability/python/experimental/vi/automatic_structured_vi.py +tensorflow_probability/python/experimental/vi/automatic_structured_vi_test.py +tensorflow_probability/python/experimental/vi/surrogate_posteriors.py +tensorflow_probability/python/experimental/vi/surrogate_posteriors_test.py +tensorflow_probability/python/experimental/vi/util/__init__.py +tensorflow_probability/python/experimental/vi/util/trainable_linear_operators.py +tensorflow_probability/python/experimental/vi/util/trainable_linear_operators_test.py +tensorflow_probability/python/glm/__init__.py +tensorflow_probability/python/glm/family.py +tensorflow_probability/python/glm/family_test.py +tensorflow_probability/python/glm/fisher_scoring.py +tensorflow_probability/python/glm/fisher_scoring_test.py +tensorflow_probability/python/glm/proximal_hessian.py +tensorflow_probability/python/glm/proximal_hessian_test.py +tensorflow_probability/python/internal/__init__.py +tensorflow_probability/python/internal/all_util.py +tensorflow_probability/python/internal/assert_util.py +tensorflow_probability/python/internal/auto_composite_tensor.py +tensorflow_probability/python/internal/auto_composite_tensor_test.py +tensorflow_probability/python/internal/batch_shape_lib.py +tensorflow_probability/python/internal/batch_shape_lib_test.py +tensorflow_probability/python/internal/batched_rejection_sampler.py +tensorflow_probability/python/internal/batched_rejection_sampler_test.py +tensorflow_probability/python/internal/broadcast_util.py +tensorflow_probability/python/internal/broadcast_util_test.py +tensorflow_probability/python/internal/cache_util.py +tensorflow_probability/python/internal/cache_util_test.py +tensorflow_probability/python/internal/callable_util.py +tensorflow_probability/python/internal/callable_util_test.py +tensorflow_probability/python/internal/custom_gradient.py +tensorflow_probability/python/internal/custom_gradient_test.py +tensorflow_probability/python/internal/distribute_lib.py +tensorflow_probability/python/internal/distribute_lib_test.py +tensorflow_probability/python/internal/distribute_test_lib.py +tensorflow_probability/python/internal/distribution_util.py +tensorflow_probability/python/internal/distribution_util_test.py +tensorflow_probability/python/internal/docstring_util.py +tensorflow_probability/python/internal/docstring_util_test.py +tensorflow_probability/python/internal/dtype_util.py +tensorflow_probability/python/internal/dtype_util_test.py +tensorflow_probability/python/internal/empirical_statistical_testing.py +tensorflow_probability/python/internal/empirical_statistical_testing_test.py +tensorflow_probability/python/internal/hypothesis_testlib.py +tensorflow_probability/python/internal/hypothesis_testlib_test.py +tensorflow_probability/python/internal/implementation_selection.py +tensorflow_probability/python/internal/implementation_selection_test.py +tensorflow_probability/python/internal/lazy_loader.py +tensorflow_probability/python/internal/loop_util.py +tensorflow_probability/python/internal/loop_util_test.py +tensorflow_probability/python/internal/monte_carlo.py +tensorflow_probability/python/internal/name_util.py +tensorflow_probability/python/internal/nest_util.py +tensorflow_probability/python/internal/nest_util_test.py +tensorflow_probability/python/internal/numerics_testing.py +tensorflow_probability/python/internal/numerics_testing_test.py +tensorflow_probability/python/internal/parameter_properties.py +tensorflow_probability/python/internal/prefer_static.py +tensorflow_probability/python/internal/prefer_static_shape64_test.py +tensorflow_probability/python/internal/prefer_static_test.py +tensorflow_probability/python/internal/reparameterization.py +tensorflow_probability/python/internal/samplers.py +tensorflow_probability/python/internal/samplers_test.py +tensorflow_probability/python/internal/slicing.py +tensorflow_probability/python/internal/slicing_test.py +tensorflow_probability/python/internal/special_math.py +tensorflow_probability/python/internal/special_math_test.py +tensorflow_probability/python/internal/structural_tuple.py +tensorflow_probability/python/internal/structural_tuple_test.py +tensorflow_probability/python/internal/tensor_util.py +tensorflow_probability/python/internal/tensor_util_test.py +tensorflow_probability/python/internal/tensorshape_util.py +tensorflow_probability/python/internal/tensorshape_util_test.py +tensorflow_probability/python/internal/test_combinations.py +tensorflow_probability/python/internal/test_combinations_test.py +tensorflow_probability/python/internal/test_util.py +tensorflow_probability/python/internal/test_util_test.py +tensorflow_probability/python/internal/tf_keras.py +tensorflow_probability/python/internal/trainable_state_util.py +tensorflow_probability/python/internal/trainable_state_util_test.py +tensorflow_probability/python/internal/unnest.py +tensorflow_probability/python/internal/unnest_test.py +tensorflow_probability/python/internal/variadic_reduce.py +tensorflow_probability/python/internal/vectorization_util.py +tensorflow_probability/python/internal/vectorization_util_test.py +tensorflow_probability/python/internal/backend/__init__.py +tensorflow_probability/python/internal/backend/numpy/__init__.py +tensorflow_probability/python/internal/backend/numpy/__internal__.py +tensorflow_probability/python/internal/backend/numpy/_utils.py +tensorflow_probability/python/internal/backend/numpy/bitwise.py +tensorflow_probability/python/internal/backend/numpy/compat.py +tensorflow_probability/python/internal/backend/numpy/composite_tensor.py +tensorflow_probability/python/internal/backend/numpy/composite_tensor_gradient.py +tensorflow_probability/python/internal/backend/numpy/config.py +tensorflow_probability/python/internal/backend/numpy/control_flow.py +tensorflow_probability/python/internal/backend/numpy/data_structures.py +tensorflow_probability/python/internal/backend/numpy/debugging.py +tensorflow_probability/python/internal/backend/numpy/deprecation.py +tensorflow_probability/python/internal/backend/numpy/dtype.py +tensorflow_probability/python/internal/backend/numpy/errors.py +tensorflow_probability/python/internal/backend/numpy/functional_ops.py +tensorflow_probability/python/internal/backend/numpy/initializers.py +tensorflow_probability/python/internal/backend/numpy/keras_layers.py +tensorflow_probability/python/internal/backend/numpy/linalg.py +tensorflow_probability/python/internal/backend/numpy/linalg_impl.py +tensorflow_probability/python/internal/backend/numpy/misc.py +tensorflow_probability/python/internal/backend/numpy/nest.py +tensorflow_probability/python/internal/backend/numpy/nn.py +tensorflow_probability/python/internal/backend/numpy/numpy_array.py +tensorflow_probability/python/internal/backend/numpy/numpy_keras.py +tensorflow_probability/python/internal/backend/numpy/numpy_logging.py +tensorflow_probability/python/internal/backend/numpy/numpy_math.py +tensorflow_probability/python/internal/backend/numpy/numpy_signal.py +tensorflow_probability/python/internal/backend/numpy/numpy_test.py +tensorflow_probability/python/internal/backend/numpy/ops.py +tensorflow_probability/python/internal/backend/numpy/private.py +tensorflow_probability/python/internal/backend/numpy/random_generators.py +tensorflow_probability/python/internal/backend/numpy/raw_ops.py +tensorflow_probability/python/internal/backend/numpy/resource_variable_ops.py +tensorflow_probability/python/internal/backend/numpy/rewrite_equivalence_test.py +tensorflow_probability/python/internal/backend/numpy/sets_lib.py +tensorflow_probability/python/internal/backend/numpy/sparse_lib.py +tensorflow_probability/python/internal/backend/numpy/tensor_array_ops.py +tensorflow_probability/python/internal/backend/numpy/tensor_array_ops_test.py +tensorflow_probability/python/internal/backend/numpy/tensor_spec.py +tensorflow_probability/python/internal/backend/numpy/test_lib.py +tensorflow_probability/python/internal/backend/numpy/tf_inspect.py +tensorflow_probability/python/internal/backend/numpy/type_spec.py +tensorflow_probability/python/internal/backend/numpy/type_spec_registry.py +tensorflow_probability/python/internal/backend/numpy/v1.py +tensorflow_probability/python/internal/backend/numpy/v2.py +tensorflow_probability/python/internal/backend/numpy/variable_utils.py +tensorflow_probability/python/internal/backend/numpy/variables.py +tensorflow_probability/python/internal/backend/numpy/gen/__init__.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_addition.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_adjoint.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_block_diag.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_block_lower_triangular.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_circulant.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_composition.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_diag.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_full_matrix.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_householder.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_identity.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_inversion.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_kronecker.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_low_rank_update.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_lower_triangular.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_permutation.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_toeplitz.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_util.py +tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_zeros.py +tensorflow_probability/python/internal/backend/numpy/gen/property_hint_util.py +tensorflow_probability/python/internal/backend/numpy/gen/slicing.py +tensorflow_probability/python/internal/backend/numpy/gen/tensor_shape.py +tensorflow_probability/python/layers/__init__.py +tensorflow_probability/python/layers/conv_variational.py +tensorflow_probability/python/layers/conv_variational_test.py +tensorflow_probability/python/layers/dense_variational.py +tensorflow_probability/python/layers/dense_variational_test.py +tensorflow_probability/python/layers/dense_variational_v2.py +tensorflow_probability/python/layers/dense_variational_v2_test.py +tensorflow_probability/python/layers/distribution_layer.py +tensorflow_probability/python/layers/distribution_layer_test.py +tensorflow_probability/python/layers/initializers.py +tensorflow_probability/python/layers/initializers_test.py +tensorflow_probability/python/layers/masked_autoregressive.py +tensorflow_probability/python/layers/masked_autoregressive_test.py +tensorflow_probability/python/layers/util.py +tensorflow_probability/python/layers/variable_input.py +tensorflow_probability/python/layers/variable_input_test.py +tensorflow_probability/python/layers/weight_norm.py +tensorflow_probability/python/layers/weight_norm_test.py +tensorflow_probability/python/layers/internal/__init__.py +tensorflow_probability/python/layers/internal/distribution_tensor_coercible.py +tensorflow_probability/python/layers/internal/distribution_tensor_coercible_test.py +tensorflow_probability/python/layers/internal/tensor_tuple.py +tensorflow_probability/python/layers/internal/tensor_tuple_test.py +tensorflow_probability/python/math/__init__.py +tensorflow_probability/python/math/bessel.py +tensorflow_probability/python/math/bessel_test.py +tensorflow_probability/python/math/custom_gradient.py +tensorflow_probability/python/math/custom_gradient_test.py +tensorflow_probability/python/math/diag_jacobian.py +tensorflow_probability/python/math/diag_jacobian_test.py +tensorflow_probability/python/math/generic.py +tensorflow_probability/python/math/generic_test.py +tensorflow_probability/python/math/gradient.py +tensorflow_probability/python/math/gradient_test.py +tensorflow_probability/python/math/gram_schmidt.py +tensorflow_probability/python/math/gram_schmidt_test.py +tensorflow_probability/python/math/hypergeometric.py +tensorflow_probability/python/math/hypergeometric_test.py +tensorflow_probability/python/math/integration.py +tensorflow_probability/python/math/integration_test.py +tensorflow_probability/python/math/interpolation.py +tensorflow_probability/python/math/interpolation_test.py +tensorflow_probability/python/math/linalg.py +tensorflow_probability/python/math/linalg_test.py +tensorflow_probability/python/math/minimize.py +tensorflow_probability/python/math/minimize_test.py +tensorflow_probability/python/math/numeric.py +tensorflow_probability/python/math/numeric_test.py +tensorflow_probability/python/math/root_search.py +tensorflow_probability/python/math/root_search_test.py +tensorflow_probability/python/math/scan_associative.py +tensorflow_probability/python/math/scan_associative_test.py +tensorflow_probability/python/math/sparse.py +tensorflow_probability/python/math/sparse_test.py +tensorflow_probability/python/math/special.py +tensorflow_probability/python/math/special_test.py +tensorflow_probability/python/math/ode/__init__.py +tensorflow_probability/python/math/ode/base.py +tensorflow_probability/python/math/ode/bdf.py +tensorflow_probability/python/math/ode/bdf_util.py +tensorflow_probability/python/math/ode/bdf_util_test.py +tensorflow_probability/python/math/ode/dormand_prince.py +tensorflow_probability/python/math/ode/ode_test.py +tensorflow_probability/python/math/ode/runge_kutta_util.py +tensorflow_probability/python/math/ode/runge_kutta_util_test.py +tensorflow_probability/python/math/ode/util.py +tensorflow_probability/python/math/ode/util_test.py +tensorflow_probability/python/math/ode/xla_test.py +tensorflow_probability/python/math/psd_kernels/__init__.py +tensorflow_probability/python/math/psd_kernels/changepoint.py +tensorflow_probability/python/math/psd_kernels/changepoint_test.py +tensorflow_probability/python/math/psd_kernels/exp_sin_squared.py +tensorflow_probability/python/math/psd_kernels/exp_sin_squared_test.py +tensorflow_probability/python/math/psd_kernels/exponential_curve.py +tensorflow_probability/python/math/psd_kernels/exponential_curve_test.py +tensorflow_probability/python/math/psd_kernels/exponentiated_quadratic.py +tensorflow_probability/python/math/psd_kernels/exponentiated_quadratic_test.py +tensorflow_probability/python/math/psd_kernels/feature_scaled.py +tensorflow_probability/python/math/psd_kernels/feature_scaled_test.py +tensorflow_probability/python/math/psd_kernels/feature_transformed.py +tensorflow_probability/python/math/psd_kernels/feature_transformed_test.py +tensorflow_probability/python/math/psd_kernels/gamma_exponential.py +tensorflow_probability/python/math/psd_kernels/gamma_exponential_test.py +tensorflow_probability/python/math/psd_kernels/hypothesis_testlib.py +tensorflow_probability/python/math/psd_kernels/kumaraswamy_transformed.py +tensorflow_probability/python/math/psd_kernels/kumaraswamy_transformed_test.py +tensorflow_probability/python/math/psd_kernels/matern.py +tensorflow_probability/python/math/psd_kernels/matern_test.py +tensorflow_probability/python/math/psd_kernels/parabolic.py +tensorflow_probability/python/math/psd_kernels/parabolic_test.py +tensorflow_probability/python/math/psd_kernels/pointwise_exponential.py +tensorflow_probability/python/math/psd_kernels/pointwise_exponential_test.py +tensorflow_probability/python/math/psd_kernels/polynomial.py +tensorflow_probability/python/math/psd_kernels/polynomial_test.py +tensorflow_probability/python/math/psd_kernels/positive_semidefinite_kernel.py +tensorflow_probability/python/math/psd_kernels/positive_semidefinite_kernel_test.py +tensorflow_probability/python/math/psd_kernels/psd_kernel_properties_test.py +tensorflow_probability/python/math/psd_kernels/rational_quadratic.py +tensorflow_probability/python/math/psd_kernels/rational_quadratic_test.py +tensorflow_probability/python/math/psd_kernels/schur_complement.py +tensorflow_probability/python/math/psd_kernels/schur_complement_test.py +tensorflow_probability/python/math/psd_kernels/spectral_mixture.py +tensorflow_probability/python/math/psd_kernels/spectral_mixture_test.py +tensorflow_probability/python/math/psd_kernels/internal/__init__.py +tensorflow_probability/python/math/psd_kernels/internal/test_util.py +tensorflow_probability/python/math/psd_kernels/internal/test_util_test.py +tensorflow_probability/python/math/psd_kernels/internal/util.py +tensorflow_probability/python/math/psd_kernels/internal/util_test.py +tensorflow_probability/python/mcmc/__init__.py +tensorflow_probability/python/mcmc/diagnostic.py +tensorflow_probability/python/mcmc/diagnostic_test.py +tensorflow_probability/python/mcmc/dual_averaging_step_size_adaptation.py +tensorflow_probability/python/mcmc/dual_averaging_step_size_adaptation_test.py +tensorflow_probability/python/mcmc/eight_schools_hmc.py +tensorflow_probability/python/mcmc/eight_schools_hmc_eager_test.py +tensorflow_probability/python/mcmc/eight_schools_hmc_graph_test.py +tensorflow_probability/python/mcmc/hmc.py +tensorflow_probability/python/mcmc/hmc_test.py +tensorflow_probability/python/mcmc/kernel.py +tensorflow_probability/python/mcmc/langevin.py +tensorflow_probability/python/mcmc/langevin_test.py +tensorflow_probability/python/mcmc/metropolis_hastings.py +tensorflow_probability/python/mcmc/metropolis_hastings_test.py +tensorflow_probability/python/mcmc/nuts.py +tensorflow_probability/python/mcmc/nuts_test.py +tensorflow_probability/python/mcmc/random_walk_metropolis.py +tensorflow_probability/python/mcmc/random_walk_metropolis_test.py +tensorflow_probability/python/mcmc/replica_exchange_mc.py +tensorflow_probability/python/mcmc/replica_exchange_mc_test.py +tensorflow_probability/python/mcmc/sample.py +tensorflow_probability/python/mcmc/sample_annealed_importance.py +tensorflow_probability/python/mcmc/sample_annealed_importance_test.py +tensorflow_probability/python/mcmc/sample_halton_sequence_lib.py +tensorflow_probability/python/mcmc/sample_halton_sequence_test.py +tensorflow_probability/python/mcmc/sample_test.py +tensorflow_probability/python/mcmc/simple_step_size_adaptation.py +tensorflow_probability/python/mcmc/simple_step_size_adaptation_test.py +tensorflow_probability/python/mcmc/slice_sampler_kernel.py +tensorflow_probability/python/mcmc/slice_sampler_test.py +tensorflow_probability/python/mcmc/transformed_kernel.py +tensorflow_probability/python/mcmc/transformed_kernel_test.py +tensorflow_probability/python/mcmc/internal/__init__.py +tensorflow_probability/python/mcmc/internal/leapfrog_integrator.py +tensorflow_probability/python/mcmc/internal/leapfrog_integrator_test.py +tensorflow_probability/python/mcmc/internal/slice_sampler_utils.py +tensorflow_probability/python/mcmc/internal/util.py +tensorflow_probability/python/mcmc/internal/util_test.py +tensorflow_probability/python/monte_carlo/__init__.py +tensorflow_probability/python/monte_carlo/expectation.py +tensorflow_probability/python/monte_carlo/expectation_test.py +tensorflow_probability/python/optimizer/__init__.py +tensorflow_probability/python/optimizer/bfgs.py +tensorflow_probability/python/optimizer/bfgs_test.py +tensorflow_probability/python/optimizer/bfgs_utils.py +tensorflow_probability/python/optimizer/differential_evolution.py +tensorflow_probability/python/optimizer/differential_evolution_test.py +tensorflow_probability/python/optimizer/lbfgs.py +tensorflow_probability/python/optimizer/lbfgs_test.py +tensorflow_probability/python/optimizer/nelder_mead.py +tensorflow_probability/python/optimizer/nelder_mead_test.py +tensorflow_probability/python/optimizer/proximal_hessian_sparse.py +tensorflow_probability/python/optimizer/proximal_hessian_sparse_test.py +tensorflow_probability/python/optimizer/sgld.py +tensorflow_probability/python/optimizer/sgld_test.py +tensorflow_probability/python/optimizer/variational_sgd.py +tensorflow_probability/python/optimizer/variational_sgd_test.py +tensorflow_probability/python/optimizer/convergence_criteria/__init__.py +tensorflow_probability/python/optimizer/convergence_criteria/convergence_criterion.py +tensorflow_probability/python/optimizer/convergence_criteria/loss_not_decreasing.py +tensorflow_probability/python/optimizer/convergence_criteria/loss_not_decreasing_test.py +tensorflow_probability/python/optimizer/convergence_criteria/successive_gradients_are_uncorrelated.py +tensorflow_probability/python/optimizer/convergence_criteria/successive_gradients_are_uncorrelated_test.py +tensorflow_probability/python/optimizer/linesearch/__init__.py +tensorflow_probability/python/optimizer/linesearch/hager_zhang.py +tensorflow_probability/python/optimizer/linesearch/hager_zhang_test.py +tensorflow_probability/python/optimizer/linesearch/internal/__init__.py +tensorflow_probability/python/optimizer/linesearch/internal/hager_zhang_lib.py +tensorflow_probability/python/optimizer/linesearch/internal/hager_zhang_lib_test.py +tensorflow_probability/python/random/__init__.py +tensorflow_probability/python/random/random_ops.py +tensorflow_probability/python/random/random_ops_test.py +tensorflow_probability/python/stats/__init__.py +tensorflow_probability/python/stats/calibration.py +tensorflow_probability/python/stats/calibration_test.py +tensorflow_probability/python/stats/kendalls_tau.py +tensorflow_probability/python/stats/kendalls_tau_test.py +tensorflow_probability/python/stats/leave_one_out.py +tensorflow_probability/python/stats/leave_one_out_test.py +tensorflow_probability/python/stats/moving_stats.py +tensorflow_probability/python/stats/moving_stats_test.py +tensorflow_probability/python/stats/quantiles.py +tensorflow_probability/python/stats/quantiles_test.py +tensorflow_probability/python/stats/ranking.py +tensorflow_probability/python/stats/ranking_test.py +tensorflow_probability/python/stats/sample_stats.py +tensorflow_probability/python/stats/sample_stats_test.py +tensorflow_probability/python/sts/__init__.py +tensorflow_probability/python/sts/decomposition.py +tensorflow_probability/python/sts/decomposition_test.py +tensorflow_probability/python/sts/default_model.py +tensorflow_probability/python/sts/default_model_test.py +tensorflow_probability/python/sts/fitting.py +tensorflow_probability/python/sts/fitting_test.py +tensorflow_probability/python/sts/forecast.py +tensorflow_probability/python/sts/forecast_test.py +tensorflow_probability/python/sts/holiday_effects.py +tensorflow_probability/python/sts/holiday_effects_test.py +tensorflow_probability/python/sts/regularization.py +tensorflow_probability/python/sts/regularization_test.py +tensorflow_probability/python/sts/structural_time_series.py +tensorflow_probability/python/sts/structural_time_series_test.py +tensorflow_probability/python/sts/anomaly_detection/__init__.py +tensorflow_probability/python/sts/anomaly_detection/anomaly_detection_lib.py +tensorflow_probability/python/sts/anomaly_detection/anomaly_detection_test.py +tensorflow_probability/python/sts/components/__init__.py +tensorflow_probability/python/sts/components/autoregressive.py +tensorflow_probability/python/sts/components/autoregressive_integrated_moving_average.py +tensorflow_probability/python/sts/components/autoregressive_integrated_moving_average_test.py +tensorflow_probability/python/sts/components/autoregressive_moving_average.py +tensorflow_probability/python/sts/components/autoregressive_moving_average_test.py +tensorflow_probability/python/sts/components/autoregressive_test.py +tensorflow_probability/python/sts/components/dynamic_regression.py +tensorflow_probability/python/sts/components/dynamic_regression_test.py +tensorflow_probability/python/sts/components/local_level.py +tensorflow_probability/python/sts/components/local_level_test.py +tensorflow_probability/python/sts/components/local_linear_trend.py +tensorflow_probability/python/sts/components/local_linear_trend_test.py +tensorflow_probability/python/sts/components/regression.py +tensorflow_probability/python/sts/components/regression_test.py +tensorflow_probability/python/sts/components/seasonal.py +tensorflow_probability/python/sts/components/seasonal_test.py +tensorflow_probability/python/sts/components/semilocal_linear_trend.py +tensorflow_probability/python/sts/components/semilocal_linear_trend_test.py +tensorflow_probability/python/sts/components/smooth_seasonal.py +tensorflow_probability/python/sts/components/smooth_seasonal_test.py +tensorflow_probability/python/sts/components/sum.py +tensorflow_probability/python/sts/components/sum_test.py +tensorflow_probability/python/sts/internal/__init__.py +tensorflow_probability/python/sts/internal/missing_values_util.py +tensorflow_probability/python/sts/internal/missing_values_util_test.py +tensorflow_probability/python/sts/internal/seasonality_util.py +tensorflow_probability/python/sts/internal/seasonality_util_test.py +tensorflow_probability/python/sts/internal/util.py +tensorflow_probability/python/sts/internal/util_test.py +tensorflow_probability/python/util/__init__.py +tensorflow_probability/python/util/deferred_tensor.py +tensorflow_probability/python/util/deferred_tensor_test.py +tensorflow_probability/python/util/seed_stream.py +tensorflow_probability/python/util/seed_stream_test.py +tensorflow_probability/python/vi/__init__.py +tensorflow_probability/python/vi/csiszar_divergence.py +tensorflow_probability/python/vi/csiszar_divergence_test.py +tensorflow_probability/python/vi/mutual_information.py +tensorflow_probability/python/vi/mutual_information_test.py +tensorflow_probability/python/vi/optimization.py +tensorflow_probability/python/vi/optimization_test.py +tensorflow_probability/substrates/__init__.py +tensorflow_probability/substrates/jax/__init__.py +tensorflow_probability/substrates/numpy/__init__.py +tfp_nightly.egg-info/PKG-INFO +tfp_nightly.egg-info/SOURCES.txt +tfp_nightly.egg-info/dependency_links.txt +tfp_nightly.egg-info/not-zip-safe +tfp_nightly.egg-info/requires.txt +tfp_nightly.egg-info/top_level.txt \ No newline at end of file diff --git a/tfp_nightly.egg-info/dependency_links.txt b/tfp_nightly.egg-info/dependency_links.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/tfp_nightly.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/tfp_nightly.egg-info/not-zip-safe b/tfp_nightly.egg-info/not-zip-safe new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/tfp_nightly.egg-info/not-zip-safe @@ -0,0 +1 @@ + diff --git a/tfp_nightly.egg-info/requires.txt b/tfp_nightly.egg-info/requires.txt new file mode 100644 index 0000000000..2a08bbd673 --- /dev/null +++ b/tfp_nightly.egg-info/requires.txt @@ -0,0 +1,14 @@ +absl-py +six>=1.10.0 +numpy>=1.13.3 +decorator +cloudpickle>=1.3 +gast>=0.3.2 +dm-tree + +[jax] +jax +jaxlib + +[tfds] +tfds-nightly diff --git a/tfp_nightly.egg-info/top_level.txt b/tfp_nightly.egg-info/top_level.txt new file mode 100644 index 0000000000..ecabf3d7f4 --- /dev/null +++ b/tfp_nightly.egg-info/top_level.txt @@ -0,0 +1 @@ +tensorflow_probability From cc799a5ddc95e2114f6586512c87d4124ed76012 Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 10 Dec 2023 22:33:19 +0100 Subject: [PATCH 02/24] Fixes --- .../python/experimental/mcmc/BUILD | 2 + tfp_nightly.egg-info/PKG-INFO | 244 ---- tfp_nightly.egg-info/SOURCES.txt | 1068 ----------------- tfp_nightly.egg-info/dependency_links.txt | 1 - tfp_nightly.egg-info/not-zip-safe | 1 - tfp_nightly.egg-info/requires.txt | 14 - tfp_nightly.egg-info/top_level.txt | 1 - 7 files changed, 2 insertions(+), 1329 deletions(-) delete mode 100644 tfp_nightly.egg-info/PKG-INFO delete mode 100644 tfp_nightly.egg-info/SOURCES.txt delete mode 100644 tfp_nightly.egg-info/dependency_links.txt delete mode 100644 tfp_nightly.egg-info/not-zip-safe delete mode 100644 tfp_nightly.egg-info/requires.txt delete mode 100644 tfp_nightly.egg-info/top_level.txt diff --git a/tensorflow_probability/python/experimental/mcmc/BUILD b/tensorflow_probability/python/experimental/mcmc/BUILD index aa2843bfb9..a96087e35c 100644 --- a/tensorflow_probability/python/experimental/mcmc/BUILD +++ b/tensorflow_probability/python/experimental/mcmc/BUILD @@ -18,6 +18,8 @@ # //tensorflow_probability/python/internal/auto_batching # internally. +# Placeholder: py_library +# Placeholder: py_test load( "//tensorflow_probability/python:build_defs.bzl", "multi_substrate_py_library", diff --git a/tfp_nightly.egg-info/PKG-INFO b/tfp_nightly.egg-info/PKG-INFO deleted file mode 100644 index 96ea3cdd82..0000000000 --- a/tfp_nightly.egg-info/PKG-INFO +++ /dev/null @@ -1,244 +0,0 @@ -Metadata-Version: 2.1 -Name: tfp-nightly -Version: 0.24.0.dev0 -Summary: Probabilistic modeling and statistical inference in TensorFlow -Home-page: http://github.com/tensorflow/probability -Author: Google LLC -Author-email: no-reply@google.com -License: Apache 2.0 -Keywords: tensorflow probability statistics bayesian machine learning -Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: Education -Classifier: Intended Audience :: Science/Research -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Topic :: Scientific/Engineering -Classifier: Topic :: Scientific/Engineering :: Mathematics -Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence -Classifier: Topic :: Software Development -Classifier: Topic :: Software Development :: Libraries -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.9 -Description-Content-Type: text/markdown -Provides-Extra: jax -Provides-Extra: tfds -License-File: LICENSE - -# TensorFlow Probability - -TensorFlow Probability is a library for probabilistic reasoning and statistical -analysis in TensorFlow. As part of the TensorFlow ecosystem, TensorFlow -Probability provides integration of probabilistic methods with deep networks, -gradient-based inference via automatic differentiation, and scalability to -large datasets and models via hardware acceleration (e.g., GPUs) and distributed -computation. - -__TFP also works as "Tensor-friendly Probability" in pure JAX!__: -`from tensorflow_probability.substrates import jax as tfp` -- -Learn more [here](https://www.tensorflow.org/probability/examples/TensorFlow_Probability_on_JAX). - -Our probabilistic machine learning tools are structured as follows. - -__Layer 0: TensorFlow.__ Numerical operations. In particular, the LinearOperator -class enables matrix-free implementations that can exploit special structure -(diagonal, low-rank, etc.) for efficient computation. It is built and maintained -by the TensorFlow Probability team and is now part of -[`tf.linalg`](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/python/ops/linalg) -in core TF. - -__Layer 1: Statistical Building Blocks__ - -* Distributions ([`tfp.distributions`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/distributions)): - A large collection of probability - distributions and related statistics with batch and - [broadcasting](https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) - semantics. See the - [Distributions Tutorial](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Distributions_Tutorial.ipynb). -* Bijectors ([`tfp.bijectors`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/bijectors)): - Reversible and composable transformations of random variables. Bijectors - provide a rich class of transformed distributions, from classical examples - like the - [log-normal distribution](https://en.wikipedia.org/wiki/Log-normal_distribution) - to sophisticated deep learning models such as - [masked autoregressive flows](https://arxiv.org/abs/1705.07057). - -__Layer 2: Model Building__ - -* Joint Distributions (e.g., [`tfp.distributions.JointDistributionSequential`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/distributions/joint_distribution_sequential.py)): - Joint distributions over one or more possibly-interdependent distributions. - For an introduction to modeling with TFP's `JointDistribution`s, check out - [this colab](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Modeling_with_JointDistribution.ipynb) -* Probabilistic Layers ([`tfp.layers`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/layers)): - Neural network layers with uncertainty over the functions they represent, - extending TensorFlow Layers. - -__Layer 3: Probabilistic Inference__ - -* Markov chain Monte Carlo ([`tfp.mcmc`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/mcmc)): - Algorithms for approximating integrals via sampling. Includes - [Hamiltonian Monte Carlo](https://en.wikipedia.org/wiki/Hamiltonian_Monte_Carlo), - random-walk Metropolis-Hastings, and the ability to build custom transition - kernels. -* Variational Inference ([`tfp.vi`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/vi)): - Algorithms for approximating integrals via optimization. -* Optimizers ([`tfp.optimizer`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/python/optimizer)): - Stochastic optimization methods, extending TensorFlow Optimizers. Includes - [Stochastic Gradient Langevin Dynamics](http://www.icml-2011.org/papers/398_icmlpaper.pdf). -* Monte Carlo ([`tfp.monte_carlo`](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/python/monte_carlo)): - Tools for computing Monte Carlo expectations. - -TensorFlow Probability is under active development. Interfaces may change at any -time. - -## Examples - -See [`tensorflow_probability/examples/`](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/) -for end-to-end examples. It includes tutorial notebooks such as: - -* [Linear Mixed Effects Models](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Linear_Mixed_Effects_Models.ipynb). - A hierarchical linear model for sharing statistical strength across examples. -* [Eight Schools](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Eight_Schools.ipynb). - A hierarchical normal model for exchangeable treatment effects. -* [Hierarchical Linear Models](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/HLM_TFP_R_Stan.ipynb). - Hierarchical linear models compared among TensorFlow Probability, R, and Stan. -* [Bayesian Gaussian Mixture Models](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Bayesian_Gaussian_Mixture_Model.ipynb). - Clustering with a probabilistic generative model. -* [Probabilistic Principal Components Analysis](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Probabilistic_PCA.ipynb). - Dimensionality reduction with latent variables. -* [Gaussian Copulas](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Gaussian_Copula.ipynb). - Probability distributions for capturing dependence across random variables. -* [TensorFlow Distributions: A Gentle Introduction](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Distributions_Tutorial.ipynb). - Introduction to TensorFlow Distributions. -* [Understanding TensorFlow Distributions Shapes](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/Understanding_TensorFlow_Distributions_Shapes.ipynb). - How to distinguish between samples, batches, and events for arbitrarily shaped - probabilistic computations. -* [TensorFlow Probability Case Study: Covariance Estimation](https://github.com/tensorflow/probability/blob/main/tensorflow_probability/examples/jupyter_notebooks/TensorFlow_Probability_Case_Study_Covariance_Estimation.ipynb). - A user's case study in applying TensorFlow Probability to estimate covariances. - -It also includes example scripts such as: - - Representation learning with a latent code and variational inference. -* [Vector-Quantized Autoencoder](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/vq_vae.py). - Discrete representation learning with vector quantization. -* [Disentangled Sequential Variational Autoencoder](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/disentangled_vae.py) - Disentangled representation learning over sequences with variational inference. -* [Bayesian Neural Networks](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/bayesian_neural_network.py). - Neural networks with uncertainty over their weights. -* [Bayesian Logistic Regression](https://github.com/tensorflow/probability/tree/main/tensorflow_probability/examples/logistic_regression.py). - Bayesian inference for binary classification. - -## Installation - -For additional details on installing TensorFlow, guidance installing -prerequisites, and (optionally) setting up virtual environments, see the -[TensorFlow installation guide](https://www.tensorflow.org/install). - -### Stable Builds - -To install the latest stable version, run the following: - -```shell -# Notes: - -# - The `--upgrade` flag ensures you'll get the latest version. -# - The `--user` flag ensures the packages are installed to your user directory -# rather than the system directory. -# - TensorFlow 2 packages require a pip >= 19.0 -python -m pip install --upgrade --user pip -python -m pip install --upgrade --user tensorflow tensorflow_probability -``` - -For CPU-only usage (and a smaller install), install with `tensorflow-cpu`. - -To use a pre-2.0 version of TensorFlow, run: - -```shell -python -m pip install --upgrade --user "tensorflow<2" "tensorflow_probability<0.9" -``` - -Note: Since [TensorFlow](https://www.tensorflow.org/install) is *not* included -as a dependency of the TensorFlow Probability package (in `setup.py`), you must -explicitly install the TensorFlow package (`tensorflow` or `tensorflow-cpu`). -This allows us to maintain one package instead of separate packages for CPU and -GPU-enabled TensorFlow. See the -[TFP release notes](https://github.com/tensorflow/probability/releases) for more -details about dependencies between TensorFlow and TensorFlow Probability. - - -### Nightly Builds - -There are also nightly builds of TensorFlow Probability under the pip package -`tfp-nightly`, which depends on one of `tf-nightly` or `tf-nightly-cpu`. -Nightly builds include newer features, but may be less stable than the -versioned releases. Both stable and nightly docs are available -[here](https://www.tensorflow.org/probability/api_docs/python/tfp?version=nightly). - -```shell -python -m pip install --upgrade --user tf-nightly tfp-nightly -``` - -### Installing from Source - -You can also install from source. This requires the [Bazel]( -https://bazel.build/) build system. It is highly recommended that you install -the nightly build of TensorFlow (`tf-nightly`) before trying to build -TensorFlow Probability from source. - -```shell -# sudo apt-get install bazel git python-pip # Ubuntu; others, see above links. -python -m pip install --upgrade --user tf-nightly -git clone https://github.com/tensorflow/probability.git -cd probability -bazel build --copt=-O3 --copt=-march=native :pip_pkg -PKGDIR=$(mktemp -d) -./bazel-bin/pip_pkg $PKGDIR -python -m pip install --upgrade --user $PKGDIR/*.whl -``` - -## Community - -As part of TensorFlow, we're committed to fostering an open and welcoming -environment. - -* [Stack Overflow](https://stackoverflow.com/questions/tagged/tensorflow): Ask - or answer technical questions. -* [GitHub](https://github.com/tensorflow/probability/issues): Report bugs or - make feature requests. -* [TensorFlow Blog](https://blog.tensorflow.org/): Stay up to date on content - from the TensorFlow team and best articles from the community. -* [Youtube Channel](http://youtube.com/tensorflow/): Follow TensorFlow shows. -* [tfprobability@tensorflow.org](https://groups.google.com/a/tensorflow.org/forum/#!forum/tfprobability): - Open mailing list for discussion and questions. - -See the [TensorFlow Community](https://www.tensorflow.org/community/) page for -more details. Check out our latest publicity here: - -+ [Coffee with a Googler: Probabilistic Machine Learning in TensorFlow]( - https://www.youtube.com/watch?v=BjUkL8DFH5Q) -+ [Introducing TensorFlow Probability]( - https://medium.com/tensorflow/introducing-tensorflow-probability-dca4c304e245) - -## Contributing - -We're eager to collaborate with you! See [`CONTRIBUTING.md`](CONTRIBUTING.md) -for a guide on how to contribute. This project adheres to TensorFlow's -[code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to -uphold this code. - -## References - -If you use TensorFlow Probability in a paper, please cite: - -+ _TensorFlow Distributions._ Joshua V. Dillon, Ian Langmore, Dustin Tran, -Eugene Brevdo, Srinivas Vasudevan, Dave Moore, Brian Patton, Alex Alemi, Matt -Hoffman, Rif A. Saurous. -[arXiv preprint arXiv:1711.10604, 2017](https://arxiv.org/abs/1711.10604). - -(We're aware there's a lot more to TensorFlow Probability than Distributions, but the Distributions paper lays out our vision and is a fine thing to cite for now.) - - diff --git a/tfp_nightly.egg-info/SOURCES.txt b/tfp_nightly.egg-info/SOURCES.txt deleted file mode 100644 index 8645f5fa31..0000000000 --- a/tfp_nightly.egg-info/SOURCES.txt +++ /dev/null @@ -1,1068 +0,0 @@ -LICENSE -README.md -setup.py -tensorflow_probability/__init__.py -tensorflow_probability/python/__init__.py -tensorflow_probability/python/version.py -tensorflow_probability/python/bijectors/__init__.py -tensorflow_probability/python/bijectors/absolute_value.py -tensorflow_probability/python/bijectors/absolute_value_test.py -tensorflow_probability/python/bijectors/ascending.py -tensorflow_probability/python/bijectors/ascending_test.py -tensorflow_probability/python/bijectors/batch_normalization.py -tensorflow_probability/python/bijectors/batch_normalization_test.py -tensorflow_probability/python/bijectors/bijector.py -tensorflow_probability/python/bijectors/bijector_composition_test.py -tensorflow_probability/python/bijectors/bijector_properties_test.py -tensorflow_probability/python/bijectors/bijector_test.py -tensorflow_probability/python/bijectors/bijector_test_util.py -tensorflow_probability/python/bijectors/blockwise.py -tensorflow_probability/python/bijectors/blockwise_test.py -tensorflow_probability/python/bijectors/categorical_to_discrete.py -tensorflow_probability/python/bijectors/categorical_to_discrete_test.py -tensorflow_probability/python/bijectors/chain.py -tensorflow_probability/python/bijectors/chain_test.py -tensorflow_probability/python/bijectors/cholesky_outer_product.py -tensorflow_probability/python/bijectors/cholesky_outer_product_test.py -tensorflow_probability/python/bijectors/cholesky_to_inv_cholesky.py -tensorflow_probability/python/bijectors/cholesky_to_inv_cholesky_test.py -tensorflow_probability/python/bijectors/composition.py -tensorflow_probability/python/bijectors/correlation_cholesky.py -tensorflow_probability/python/bijectors/correlation_cholesky_test.py -tensorflow_probability/python/bijectors/cumsum.py -tensorflow_probability/python/bijectors/cumsum_test.py -tensorflow_probability/python/bijectors/discrete_cosine_transform.py -tensorflow_probability/python/bijectors/discrete_cosine_transform_test.py -tensorflow_probability/python/bijectors/exp.py -tensorflow_probability/python/bijectors/exp_test.py -tensorflow_probability/python/bijectors/expm1.py -tensorflow_probability/python/bijectors/expm1_test.py -tensorflow_probability/python/bijectors/ffjord.py -tensorflow_probability/python/bijectors/ffjord_test.py -tensorflow_probability/python/bijectors/fill_scale_tril.py -tensorflow_probability/python/bijectors/fill_scale_tril_test.py -tensorflow_probability/python/bijectors/fill_triangular.py -tensorflow_probability/python/bijectors/fill_triangular_test.py -tensorflow_probability/python/bijectors/frechet_cdf.py -tensorflow_probability/python/bijectors/frechet_cdf_test.py -tensorflow_probability/python/bijectors/generalized_pareto.py -tensorflow_probability/python/bijectors/generalized_pareto_test.py -tensorflow_probability/python/bijectors/gev_cdf.py -tensorflow_probability/python/bijectors/gev_cdf_test.py -tensorflow_probability/python/bijectors/glow.py -tensorflow_probability/python/bijectors/glow_test.py -tensorflow_probability/python/bijectors/gompertz_cdf.py -tensorflow_probability/python/bijectors/gompertz_cdf_test.py -tensorflow_probability/python/bijectors/gumbel_cdf.py -tensorflow_probability/python/bijectors/gumbel_cdf_test.py -tensorflow_probability/python/bijectors/householder.py -tensorflow_probability/python/bijectors/householder_test.py -tensorflow_probability/python/bijectors/hypothesis_testlib.py -tensorflow_probability/python/bijectors/identity.py -tensorflow_probability/python/bijectors/identity_test.py -tensorflow_probability/python/bijectors/inline.py -tensorflow_probability/python/bijectors/inline_test.py -tensorflow_probability/python/bijectors/invert.py -tensorflow_probability/python/bijectors/invert_test.py -tensorflow_probability/python/bijectors/iterated_sigmoid_centered.py -tensorflow_probability/python/bijectors/iterated_sigmoid_centered_test.py -tensorflow_probability/python/bijectors/joint_map.py -tensorflow_probability/python/bijectors/joint_map_test.py -tensorflow_probability/python/bijectors/kumaraswamy_cdf.py -tensorflow_probability/python/bijectors/kumaraswamy_cdf_test.py -tensorflow_probability/python/bijectors/lambertw_transform.py -tensorflow_probability/python/bijectors/lambertw_transform_test.py -tensorflow_probability/python/bijectors/ldj_ratio.py -tensorflow_probability/python/bijectors/ldj_ratio_test.py -tensorflow_probability/python/bijectors/masked_autoregressive.py -tensorflow_probability/python/bijectors/masked_autoregressive_test.py -tensorflow_probability/python/bijectors/matrix_inverse_tril.py -tensorflow_probability/python/bijectors/matrix_inverse_tril_test.py -tensorflow_probability/python/bijectors/moyal_cdf.py -tensorflow_probability/python/bijectors/moyal_cdf_test.py -tensorflow_probability/python/bijectors/normal_cdf.py -tensorflow_probability/python/bijectors/normal_cdf_test.py -tensorflow_probability/python/bijectors/pad.py -tensorflow_probability/python/bijectors/pad_test.py -tensorflow_probability/python/bijectors/permute.py -tensorflow_probability/python/bijectors/permute_test.py -tensorflow_probability/python/bijectors/power.py -tensorflow_probability/python/bijectors/power_test.py -tensorflow_probability/python/bijectors/power_transform.py -tensorflow_probability/python/bijectors/power_transform_test.py -tensorflow_probability/python/bijectors/rational_quadratic_spline.py -tensorflow_probability/python/bijectors/rational_quadratic_spline_test.py -tensorflow_probability/python/bijectors/rayleigh_cdf.py -tensorflow_probability/python/bijectors/rayleigh_cdf_test.py -tensorflow_probability/python/bijectors/real_nvp.py -tensorflow_probability/python/bijectors/real_nvp_test.py -tensorflow_probability/python/bijectors/reciprocal.py -tensorflow_probability/python/bijectors/reciprocal_test.py -tensorflow_probability/python/bijectors/reshape.py -tensorflow_probability/python/bijectors/reshape_test.py -tensorflow_probability/python/bijectors/restructure.py -tensorflow_probability/python/bijectors/restructure_test.py -tensorflow_probability/python/bijectors/scale.py -tensorflow_probability/python/bijectors/scale_matvec_diag.py -tensorflow_probability/python/bijectors/scale_matvec_diag_test.py -tensorflow_probability/python/bijectors/scale_matvec_linear_operator.py -tensorflow_probability/python/bijectors/scale_matvec_linear_operator_test.py -tensorflow_probability/python/bijectors/scale_matvec_lu.py -tensorflow_probability/python/bijectors/scale_matvec_lu_test.py -tensorflow_probability/python/bijectors/scale_matvec_tril.py -tensorflow_probability/python/bijectors/scale_matvec_tril_test.py -tensorflow_probability/python/bijectors/scale_test.py -tensorflow_probability/python/bijectors/shift.py -tensorflow_probability/python/bijectors/shift_test.py -tensorflow_probability/python/bijectors/shifted_gompertz_cdf.py -tensorflow_probability/python/bijectors/shifted_gompertz_cdf_test.py -tensorflow_probability/python/bijectors/sigmoid.py -tensorflow_probability/python/bijectors/sigmoid_test.py -tensorflow_probability/python/bijectors/sinh.py -tensorflow_probability/python/bijectors/sinh_arcsinh.py -tensorflow_probability/python/bijectors/sinh_arcsinh_test.py -tensorflow_probability/python/bijectors/sinh_test.py -tensorflow_probability/python/bijectors/soft_clip.py -tensorflow_probability/python/bijectors/soft_clip_test.py -tensorflow_probability/python/bijectors/softfloor.py -tensorflow_probability/python/bijectors/softfloor_test.py -tensorflow_probability/python/bijectors/softmax_centered.py -tensorflow_probability/python/bijectors/softmax_centered_test.py -tensorflow_probability/python/bijectors/softplus.py -tensorflow_probability/python/bijectors/softplus_test.py -tensorflow_probability/python/bijectors/softsign.py -tensorflow_probability/python/bijectors/softsign_test.py -tensorflow_probability/python/bijectors/split.py -tensorflow_probability/python/bijectors/split_test.py -tensorflow_probability/python/bijectors/square.py -tensorflow_probability/python/bijectors/square_test.py -tensorflow_probability/python/bijectors/tanh.py -tensorflow_probability/python/bijectors/tanh_test.py -tensorflow_probability/python/bijectors/transform_diagonal.py -tensorflow_probability/python/bijectors/transform_diagonal_test.py -tensorflow_probability/python/bijectors/transpose.py -tensorflow_probability/python/bijectors/transpose_test.py -tensorflow_probability/python/bijectors/unit_vector.py -tensorflow_probability/python/bijectors/unit_vector_test.py -tensorflow_probability/python/bijectors/weibull_cdf.py -tensorflow_probability/python/bijectors/weibull_cdf_test.py -tensorflow_probability/python/debugging/__init__.py -tensorflow_probability/python/debugging/benchmarking/__init__.py -tensorflow_probability/python/debugging/benchmarking/benchmark_tf_function.py -tensorflow_probability/python/distributions/__init__.py -tensorflow_probability/python/distributions/autoregressive.py -tensorflow_probability/python/distributions/autoregressive_test.py -tensorflow_probability/python/distributions/batch_broadcast.py -tensorflow_probability/python/distributions/batch_broadcast_test.py -tensorflow_probability/python/distributions/batch_concat.py -tensorflow_probability/python/distributions/batch_concat_test.py -tensorflow_probability/python/distributions/batch_reshape.py -tensorflow_probability/python/distributions/batch_reshape_test.py -tensorflow_probability/python/distributions/bates.py -tensorflow_probability/python/distributions/bates_test.py -tensorflow_probability/python/distributions/bernoulli.py -tensorflow_probability/python/distributions/bernoulli_test.py -tensorflow_probability/python/distributions/beta.py -tensorflow_probability/python/distributions/beta_binomial.py -tensorflow_probability/python/distributions/beta_binomial_test.py -tensorflow_probability/python/distributions/beta_quotient.py -tensorflow_probability/python/distributions/beta_quotient_test.py -tensorflow_probability/python/distributions/beta_test.py -tensorflow_probability/python/distributions/binomial.py -tensorflow_probability/python/distributions/binomial_test.py -tensorflow_probability/python/distributions/blockwise.py -tensorflow_probability/python/distributions/blockwise_test.py -tensorflow_probability/python/distributions/categorical.py -tensorflow_probability/python/distributions/categorical_test.py -tensorflow_probability/python/distributions/cauchy.py -tensorflow_probability/python/distributions/cauchy_test.py -tensorflow_probability/python/distributions/chi.py -tensorflow_probability/python/distributions/chi2.py -tensorflow_probability/python/distributions/chi2_test.py -tensorflow_probability/python/distributions/chi_test.py -tensorflow_probability/python/distributions/cholesky_lkj.py -tensorflow_probability/python/distributions/cholesky_lkj_test.py -tensorflow_probability/python/distributions/cholesky_util.py -tensorflow_probability/python/distributions/cholesky_util_test.py -tensorflow_probability/python/distributions/continuous_bernoulli.py -tensorflow_probability/python/distributions/continuous_bernoulli_test.py -tensorflow_probability/python/distributions/deterministic.py -tensorflow_probability/python/distributions/deterministic_test.py -tensorflow_probability/python/distributions/dirichlet.py -tensorflow_probability/python/distributions/dirichlet_multinomial.py -tensorflow_probability/python/distributions/dirichlet_multinomial_test.py -tensorflow_probability/python/distributions/dirichlet_test.py -tensorflow_probability/python/distributions/discrete_rejection_sampling.py -tensorflow_probability/python/distributions/discrete_rejection_sampling_test.py -tensorflow_probability/python/distributions/distribution.py -tensorflow_probability/python/distributions/distribution_properties_test.py -tensorflow_probability/python/distributions/distribution_test.py -tensorflow_probability/python/distributions/doublesided_maxwell.py -tensorflow_probability/python/distributions/doublesided_maxwell_test.py -tensorflow_probability/python/distributions/dpp.py -tensorflow_probability/python/distributions/dpp_test.py -tensorflow_probability/python/distributions/empirical.py -tensorflow_probability/python/distributions/empirical_test.py -tensorflow_probability/python/distributions/exp_gamma.py -tensorflow_probability/python/distributions/exp_gamma_test.py -tensorflow_probability/python/distributions/exponential.py -tensorflow_probability/python/distributions/exponential_test.py -tensorflow_probability/python/distributions/exponentially_modified_gaussian.py -tensorflow_probability/python/distributions/exponentially_modified_gaussian_test.py -tensorflow_probability/python/distributions/finite_discrete.py -tensorflow_probability/python/distributions/finite_discrete_test.py -tensorflow_probability/python/distributions/gamma.py -tensorflow_probability/python/distributions/gamma_gamma.py -tensorflow_probability/python/distributions/gamma_gamma_test.py -tensorflow_probability/python/distributions/gamma_test.py -tensorflow_probability/python/distributions/gaussian_process.py -tensorflow_probability/python/distributions/gaussian_process_regression_model.py -tensorflow_probability/python/distributions/gaussian_process_regression_model_test.py -tensorflow_probability/python/distributions/gaussian_process_test.py -tensorflow_probability/python/distributions/generalized_normal.py -tensorflow_probability/python/distributions/generalized_normal_test.py -tensorflow_probability/python/distributions/generalized_pareto.py -tensorflow_probability/python/distributions/generalized_pareto_test.py -tensorflow_probability/python/distributions/geometric.py -tensorflow_probability/python/distributions/geometric_test.py -tensorflow_probability/python/distributions/gev.py -tensorflow_probability/python/distributions/gev_test.py -tensorflow_probability/python/distributions/gumbel.py -tensorflow_probability/python/distributions/gumbel_test.py -tensorflow_probability/python/distributions/half_cauchy.py -tensorflow_probability/python/distributions/half_cauchy_test.py -tensorflow_probability/python/distributions/half_normal.py -tensorflow_probability/python/distributions/half_normal_test.py -tensorflow_probability/python/distributions/half_student_t.py -tensorflow_probability/python/distributions/half_student_t_test.py -tensorflow_probability/python/distributions/hidden_markov_model.py -tensorflow_probability/python/distributions/hidden_markov_model_test.py -tensorflow_probability/python/distributions/horseshoe.py -tensorflow_probability/python/distributions/horseshoe_test.py -tensorflow_probability/python/distributions/hypothesis_testlib.py -tensorflow_probability/python/distributions/independent.py -tensorflow_probability/python/distributions/independent_test.py -tensorflow_probability/python/distributions/inflated.py -tensorflow_probability/python/distributions/inflated_test.py -tensorflow_probability/python/distributions/inverse_gamma.py -tensorflow_probability/python/distributions/inverse_gamma_test.py -tensorflow_probability/python/distributions/inverse_gaussian.py -tensorflow_probability/python/distributions/inverse_gaussian_test.py -tensorflow_probability/python/distributions/jax_transformation_test.py -tensorflow_probability/python/distributions/johnson_su.py -tensorflow_probability/python/distributions/johnson_su_test.py -tensorflow_probability/python/distributions/joint_distribution.py -tensorflow_probability/python/distributions/joint_distribution_auto_batched.py -tensorflow_probability/python/distributions/joint_distribution_auto_batched_test.py -tensorflow_probability/python/distributions/joint_distribution_coroutine.py -tensorflow_probability/python/distributions/joint_distribution_coroutine_test.py -tensorflow_probability/python/distributions/joint_distribution_named.py -tensorflow_probability/python/distributions/joint_distribution_named_test.py -tensorflow_probability/python/distributions/joint_distribution_sequential.py -tensorflow_probability/python/distributions/joint_distribution_sequential_test.py -tensorflow_probability/python/distributions/joint_distribution_util.py -tensorflow_probability/python/distributions/joint_distribution_util_test.py -tensorflow_probability/python/distributions/kullback_leibler.py -tensorflow_probability/python/distributions/kullback_leibler_test.py -tensorflow_probability/python/distributions/kumaraswamy.py -tensorflow_probability/python/distributions/kumaraswamy_test.py -tensorflow_probability/python/distributions/lambertw_f.py -tensorflow_probability/python/distributions/lambertw_f_test.py -tensorflow_probability/python/distributions/laplace.py -tensorflow_probability/python/distributions/laplace_test.py -tensorflow_probability/python/distributions/linear_gaussian_ssm.py -tensorflow_probability/python/distributions/linear_gaussian_ssm_test.py -tensorflow_probability/python/distributions/lkj.py -tensorflow_probability/python/distributions/lkj_test.py -tensorflow_probability/python/distributions/log_prob_ratio.py -tensorflow_probability/python/distributions/logistic.py -tensorflow_probability/python/distributions/logistic_test.py -tensorflow_probability/python/distributions/logitnormal.py -tensorflow_probability/python/distributions/logitnormal_test.py -tensorflow_probability/python/distributions/loglogistic.py -tensorflow_probability/python/distributions/loglogistic_test.py -tensorflow_probability/python/distributions/lognormal.py -tensorflow_probability/python/distributions/lognormal_test.py -tensorflow_probability/python/distributions/markov_chain.py -tensorflow_probability/python/distributions/markov_chain_test.py -tensorflow_probability/python/distributions/masked.py -tensorflow_probability/python/distributions/masked_test.py -tensorflow_probability/python/distributions/matrix_normal_linear_operator.py -tensorflow_probability/python/distributions/matrix_normal_linear_operator_test.py -tensorflow_probability/python/distributions/matrix_t_linear_operator.py -tensorflow_probability/python/distributions/matrix_t_linear_operator_test.py -tensorflow_probability/python/distributions/mixture.py -tensorflow_probability/python/distributions/mixture_same_family.py -tensorflow_probability/python/distributions/mixture_same_family_test.py -tensorflow_probability/python/distributions/mixture_test.py -tensorflow_probability/python/distributions/moyal.py -tensorflow_probability/python/distributions/moyal_test.py -tensorflow_probability/python/distributions/multinomial.py -tensorflow_probability/python/distributions/multinomial_test.py -tensorflow_probability/python/distributions/multivariate_student_t.py -tensorflow_probability/python/distributions/multivariate_student_t_test.py -tensorflow_probability/python/distributions/mvn_diag.py -tensorflow_probability/python/distributions/mvn_diag_plus_low_rank.py -tensorflow_probability/python/distributions/mvn_diag_plus_low_rank_covariance.py -tensorflow_probability/python/distributions/mvn_diag_plus_low_rank_covariance_test.py -tensorflow_probability/python/distributions/mvn_diag_plus_low_rank_test.py -tensorflow_probability/python/distributions/mvn_diag_test.py -tensorflow_probability/python/distributions/mvn_full_covariance.py -tensorflow_probability/python/distributions/mvn_full_covariance_test.py -tensorflow_probability/python/distributions/mvn_linear_operator.py -tensorflow_probability/python/distributions/mvn_linear_operator_test.py -tensorflow_probability/python/distributions/mvn_low_rank_update_linear_operator_covariance.py -tensorflow_probability/python/distributions/mvn_low_rank_update_linear_operator_covariance_test.py -tensorflow_probability/python/distributions/mvn_tril.py -tensorflow_probability/python/distributions/mvn_tril_test.py -tensorflow_probability/python/distributions/negative_binomial.py -tensorflow_probability/python/distributions/negative_binomial_test.py -tensorflow_probability/python/distributions/noncentral_chi2.py -tensorflow_probability/python/distributions/noncentral_chi2_test.py -tensorflow_probability/python/distributions/normal.py -tensorflow_probability/python/distributions/normal_conjugate_posteriors.py -tensorflow_probability/python/distributions/normal_conjugate_posteriors_test.py -tensorflow_probability/python/distributions/normal_inverse_gaussian.py -tensorflow_probability/python/distributions/normal_inverse_gaussian_test.py -tensorflow_probability/python/distributions/normal_test.py -tensorflow_probability/python/distributions/numerical_properties_test.py -tensorflow_probability/python/distributions/onehot_categorical.py -tensorflow_probability/python/distributions/onehot_categorical_test.py -tensorflow_probability/python/distributions/ordered_logistic.py -tensorflow_probability/python/distributions/ordered_logistic_test.py -tensorflow_probability/python/distributions/pareto.py -tensorflow_probability/python/distributions/pareto_test.py -tensorflow_probability/python/distributions/pert.py -tensorflow_probability/python/distributions/pert_test.py -tensorflow_probability/python/distributions/pixel_cnn.py -tensorflow_probability/python/distributions/pixel_cnn_test.py -tensorflow_probability/python/distributions/plackett_luce.py -tensorflow_probability/python/distributions/plackett_luce_test.py -tensorflow_probability/python/distributions/platform_compatibility_test.py -tensorflow_probability/python/distributions/poisson.py -tensorflow_probability/python/distributions/poisson_lognormal.py -tensorflow_probability/python/distributions/poisson_lognormal_test.py -tensorflow_probability/python/distributions/poisson_test.py -tensorflow_probability/python/distributions/power_spherical.py -tensorflow_probability/python/distributions/power_spherical_test.py -tensorflow_probability/python/distributions/probit_bernoulli.py -tensorflow_probability/python/distributions/probit_bernoulli_test.py -tensorflow_probability/python/distributions/quantized_distribution.py -tensorflow_probability/python/distributions/quantized_distribution_test.py -tensorflow_probability/python/distributions/relaxed_bernoulli.py -tensorflow_probability/python/distributions/relaxed_bernoulli_test.py -tensorflow_probability/python/distributions/relaxed_onehot_categorical.py -tensorflow_probability/python/distributions/relaxed_onehot_categorical_test.py -tensorflow_probability/python/distributions/sample.py -tensorflow_probability/python/distributions/sample_test.py -tensorflow_probability/python/distributions/sigmoid_beta.py -tensorflow_probability/python/distributions/sigmoid_beta_test.py -tensorflow_probability/python/distributions/sinh_arcsinh.py -tensorflow_probability/python/distributions/sinh_arcsinh_test.py -tensorflow_probability/python/distributions/skellam.py -tensorflow_probability/python/distributions/skellam_test.py -tensorflow_probability/python/distributions/spherical_uniform.py -tensorflow_probability/python/distributions/spherical_uniform_test.py -tensorflow_probability/python/distributions/stochastic_process_properties_test.py -tensorflow_probability/python/distributions/stopping_ratio_logistic.py -tensorflow_probability/python/distributions/stopping_ratio_logistic_test.py -tensorflow_probability/python/distributions/student_t.py -tensorflow_probability/python/distributions/student_t_process.py -tensorflow_probability/python/distributions/student_t_process_regression_model.py -tensorflow_probability/python/distributions/student_t_process_regression_model_test.py -tensorflow_probability/python/distributions/student_t_process_test.py -tensorflow_probability/python/distributions/student_t_test.py -tensorflow_probability/python/distributions/transformed_distribution.py -tensorflow_probability/python/distributions/transformed_distribution_test.py -tensorflow_probability/python/distributions/triangular.py -tensorflow_probability/python/distributions/triangular_test.py -tensorflow_probability/python/distributions/truncated_cauchy.py -tensorflow_probability/python/distributions/truncated_cauchy_test.py -tensorflow_probability/python/distributions/truncated_normal.py -tensorflow_probability/python/distributions/truncated_normal_test.py -tensorflow_probability/python/distributions/two_piece_normal.py -tensorflow_probability/python/distributions/two_piece_normal_test.py -tensorflow_probability/python/distributions/two_piece_student_t.py -tensorflow_probability/python/distributions/two_piece_student_t_test.py -tensorflow_probability/python/distributions/uniform.py -tensorflow_probability/python/distributions/uniform_test.py -tensorflow_probability/python/distributions/untestable_distributions.py -tensorflow_probability/python/distributions/variational_gaussian_process.py -tensorflow_probability/python/distributions/variational_gaussian_process_test.py -tensorflow_probability/python/distributions/vector_exponential_linear_operator.py -tensorflow_probability/python/distributions/von_mises.py -tensorflow_probability/python/distributions/von_mises_fisher.py -tensorflow_probability/python/distributions/von_mises_fisher_test.py -tensorflow_probability/python/distributions/von_mises_test.py -tensorflow_probability/python/distributions/weibull.py -tensorflow_probability/python/distributions/weibull_test.py -tensorflow_probability/python/distributions/wishart.py -tensorflow_probability/python/distributions/wishart_test.py -tensorflow_probability/python/distributions/zipf.py -tensorflow_probability/python/distributions/zipf_test.py -tensorflow_probability/python/distributions/internal/__init__.py -tensorflow_probability/python/distributions/internal/correlation_matrix_volumes.py -tensorflow_probability/python/distributions/internal/correlation_matrix_volumes_lib.py -tensorflow_probability/python/distributions/internal/correlation_matrix_volumes_test.py -tensorflow_probability/python/distributions/internal/statistical_testing.py -tensorflow_probability/python/distributions/internal/statistical_testing_test.py -tensorflow_probability/python/distributions/internal/stochastic_process_util.py -tensorflow_probability/python/experimental/__init__.py -tensorflow_probability/python/experimental/auto_batching/__init__.py -tensorflow_probability/python/experimental/auto_batching/allocation_strategy.py -tensorflow_probability/python/experimental/auto_batching/allocation_strategy_test.py -tensorflow_probability/python/experimental/auto_batching/backend_test_lib.py -tensorflow_probability/python/experimental/auto_batching/dsl.py -tensorflow_probability/python/experimental/auto_batching/dsl_test.py -tensorflow_probability/python/experimental/auto_batching/frontend.py -tensorflow_probability/python/experimental/auto_batching/frontend_test.py -tensorflow_probability/python/experimental/auto_batching/gast_util.py -tensorflow_probability/python/experimental/auto_batching/instructions.py -tensorflow_probability/python/experimental/auto_batching/instructions_test.py -tensorflow_probability/python/experimental/auto_batching/liveness.py -tensorflow_probability/python/experimental/auto_batching/lowering.py -tensorflow_probability/python/experimental/auto_batching/lowering_test.py -tensorflow_probability/python/experimental/auto_batching/numpy_backend.py -tensorflow_probability/python/experimental/auto_batching/numpy_backend_test.py -tensorflow_probability/python/experimental/auto_batching/stack_optimization.py -tensorflow_probability/python/experimental/auto_batching/stack_optimization_test.py -tensorflow_probability/python/experimental/auto_batching/stackless.py -tensorflow_probability/python/experimental/auto_batching/stackless_test.py -tensorflow_probability/python/experimental/auto_batching/test_programs.py -tensorflow_probability/python/experimental/auto_batching/tf_backend.py -tensorflow_probability/python/experimental/auto_batching/tf_backend_test.py -tensorflow_probability/python/experimental/auto_batching/type_inference.py -tensorflow_probability/python/experimental/auto_batching/type_inference_test.py -tensorflow_probability/python/experimental/auto_batching/virtual_machine.py -tensorflow_probability/python/experimental/auto_batching/virtual_machine_test.py -tensorflow_probability/python/experimental/auto_batching/xla.py -tensorflow_probability/python/experimental/bayesopt/__init__.py -tensorflow_probability/python/experimental/bayesopt/acquisition/__init__.py -tensorflow_probability/python/experimental/bayesopt/acquisition/acquisition_function.py -tensorflow_probability/python/experimental/bayesopt/acquisition/acquisition_function_test.py -tensorflow_probability/python/experimental/bayesopt/acquisition/expected_improvement.py -tensorflow_probability/python/experimental/bayesopt/acquisition/expected_improvement_test.py -tensorflow_probability/python/experimental/bayesopt/acquisition/max_value_entropy_search.py -tensorflow_probability/python/experimental/bayesopt/acquisition/max_value_entropy_search_test.py -tensorflow_probability/python/experimental/bayesopt/acquisition/probability_of_improvement.py -tensorflow_probability/python/experimental/bayesopt/acquisition/probability_of_improvement_test.py -tensorflow_probability/python/experimental/bayesopt/acquisition/upper_confidence_bound.py -tensorflow_probability/python/experimental/bayesopt/acquisition/upper_confidence_bound_test.py -tensorflow_probability/python/experimental/bayesopt/acquisition/weighted_power_scalarization.py -tensorflow_probability/python/experimental/bayesopt/acquisition/weighted_power_scalarization_test.py -tensorflow_probability/python/experimental/bijectors/__init__.py -tensorflow_probability/python/experimental/bijectors/distribution_bijectors.py -tensorflow_probability/python/experimental/bijectors/distribution_bijectors_test.py -tensorflow_probability/python/experimental/bijectors/highway_flow.py -tensorflow_probability/python/experimental/bijectors/highway_flow_test.py -tensorflow_probability/python/experimental/bijectors/scalar_function_with_inferred_inverse.py -tensorflow_probability/python/experimental/bijectors/scalar_function_with_inferred_inverse_test.py -tensorflow_probability/python/experimental/bijectors/sharded.py -tensorflow_probability/python/experimental/bijectors/sharded_test.py -tensorflow_probability/python/experimental/distribute/__init__.py -tensorflow_probability/python/experimental/distribute/diagonal_mass_matrix_adaptation_test.py -tensorflow_probability/python/experimental/distribute/joint_distribution.py -tensorflow_probability/python/experimental/distribute/joint_distribution_test.py -tensorflow_probability/python/experimental/distribute/sharded.py -tensorflow_probability/python/experimental/distribute/sharded_test.py -tensorflow_probability/python/experimental/distributions/__init__.py -tensorflow_probability/python/experimental/distributions/importance_resample.py -tensorflow_probability/python/experimental/distributions/importance_resample_test.py -tensorflow_probability/python/experimental/distributions/increment_log_prob.py -tensorflow_probability/python/experimental/distributions/increment_log_prob_test.py -tensorflow_probability/python/experimental/distributions/joint_distribution_pinned.py -tensorflow_probability/python/experimental/distributions/joint_distribution_pinned_test.py -tensorflow_probability/python/experimental/distributions/marginal_fns.py -tensorflow_probability/python/experimental/distributions/marginal_fns_test.py -tensorflow_probability/python/experimental/distributions/multitask_gaussian_process.py -tensorflow_probability/python/experimental/distributions/multitask_gaussian_process_regression_model.py -tensorflow_probability/python/experimental/distributions/multitask_gaussian_process_regression_model_test.py -tensorflow_probability/python/experimental/distributions/multitask_gaussian_process_test.py -tensorflow_probability/python/experimental/distributions/mvn_precision_factor_linop.py -tensorflow_probability/python/experimental/distributions/mvn_precision_factor_linop_test.py -tensorflow_probability/python/experimental/joint_distribution_layers/__init__.py -tensorflow_probability/python/experimental/joint_distribution_layers/layers.py -tensorflow_probability/python/experimental/joint_distribution_layers/layers_test.py -tensorflow_probability/python/experimental/linalg/__init__.py -tensorflow_probability/python/experimental/linalg/linear_operator_interpolated_psd_kernel.py -tensorflow_probability/python/experimental/linalg/linear_operator_interpolated_psd_kernel_test.py -tensorflow_probability/python/experimental/linalg/linear_operator_psd_kernel.py -tensorflow_probability/python/experimental/linalg/linear_operator_psd_kernel_test.py -tensorflow_probability/python/experimental/linalg/linear_operator_row_block.py -tensorflow_probability/python/experimental/linalg/linear_operator_row_block_test.py -tensorflow_probability/python/experimental/linalg/linear_operator_unitary.py -tensorflow_probability/python/experimental/linalg/linear_operator_unitary_test.py -tensorflow_probability/python/experimental/linalg/no_pivot_ldl.py -tensorflow_probability/python/experimental/linalg/no_pivot_ldl_test.py -tensorflow_probability/python/experimental/marginalize/__init__.py -tensorflow_probability/python/experimental/marginalize/logeinsumexp.py -tensorflow_probability/python/experimental/marginalize/logeinsumexp_test.py -tensorflow_probability/python/experimental/marginalize/marginalizable.py -tensorflow_probability/python/experimental/marginalize/marginalizable_test.py -tensorflow_probability/python/experimental/math/__init__.py -tensorflow_probability/python/experimental/math/manual_special_functions.py -tensorflow_probability/python/experimental/math/manual_special_functions_test.py -tensorflow_probability/python/experimental/mcmc/__init__.py -tensorflow_probability/python/experimental/mcmc/covariance_reducer.py -tensorflow_probability/python/experimental/mcmc/covariance_reducer_test.py -tensorflow_probability/python/experimental/mcmc/diagonal_mass_matrix_adaptation.py -tensorflow_probability/python/experimental/mcmc/diagonal_mass_matrix_adaptation_test.py -tensorflow_probability/python/experimental/mcmc/elliptical_slice_sampler.py -tensorflow_probability/python/experimental/mcmc/elliptical_slice_sampler_test.py -tensorflow_probability/python/experimental/mcmc/expectations_reducer.py -tensorflow_probability/python/experimental/mcmc/expectations_reducer_test.py -tensorflow_probability/python/experimental/mcmc/gradient_based_trajectory_length_adaptation.py -tensorflow_probability/python/experimental/mcmc/gradient_based_trajectory_length_adaptation_test.py -tensorflow_probability/python/experimental/mcmc/initialization.py -tensorflow_probability/python/experimental/mcmc/initialization_test.py -tensorflow_probability/python/experimental/mcmc/kernel_builder.py -tensorflow_probability/python/experimental/mcmc/kernel_builder_test.py -tensorflow_probability/python/experimental/mcmc/kernel_outputs.py -tensorflow_probability/python/experimental/mcmc/kernel_outputs_test.py -tensorflow_probability/python/experimental/mcmc/nuts_autobatching.py -tensorflow_probability/python/experimental/mcmc/nuts_autobatching_test.py -tensorflow_probability/python/experimental/mcmc/nuts_autobatching_xla_test.py -tensorflow_probability/python/experimental/mcmc/particle_filter.py -tensorflow_probability/python/experimental/mcmc/particle_filter_augmentation.py -tensorflow_probability/python/experimental/mcmc/particle_filter_augmentation_test.py -tensorflow_probability/python/experimental/mcmc/particle_filter_test.py -tensorflow_probability/python/experimental/mcmc/pnuts_test.py -tensorflow_probability/python/experimental/mcmc/potential_scale_reduction_reducer.py -tensorflow_probability/python/experimental/mcmc/potential_scale_reduction_reducer_test.py -tensorflow_probability/python/experimental/mcmc/preconditioned_hmc.py -tensorflow_probability/python/experimental/mcmc/preconditioned_hmc_test.py -tensorflow_probability/python/experimental/mcmc/preconditioned_nuts.py -tensorflow_probability/python/experimental/mcmc/preconditioning_utils.py -tensorflow_probability/python/experimental/mcmc/progress_bar_reducer.py -tensorflow_probability/python/experimental/mcmc/progress_bar_reducer_test.py -tensorflow_probability/python/experimental/mcmc/reducer.py -tensorflow_probability/python/experimental/mcmc/run.py -tensorflow_probability/python/experimental/mcmc/sample.py -tensorflow_probability/python/experimental/mcmc/sample_discarding_kernel.py -tensorflow_probability/python/experimental/mcmc/sample_discarding_kernel_test.py -tensorflow_probability/python/experimental/mcmc/sample_fold.py -tensorflow_probability/python/experimental/mcmc/sample_fold_test.py -tensorflow_probability/python/experimental/mcmc/sample_sequential_monte_carlo.py -tensorflow_probability/python/experimental/mcmc/sample_sequential_monte_carlo_test.py -tensorflow_probability/python/experimental/mcmc/sample_test.py -tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py -tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py -tensorflow_probability/python/experimental/mcmc/sharded.py -tensorflow_probability/python/experimental/mcmc/sharded_test.py -tensorflow_probability/python/experimental/mcmc/snaper_hmc.py -tensorflow_probability/python/experimental/mcmc/snaper_hmc_test.py -tensorflow_probability/python/experimental/mcmc/step.py -tensorflow_probability/python/experimental/mcmc/step_test.py -tensorflow_probability/python/experimental/mcmc/thermodynamic_integrals.py -tensorflow_probability/python/experimental/mcmc/thermodynamic_integrals_test.py -tensorflow_probability/python/experimental/mcmc/thinning_kernel.py -tensorflow_probability/python/experimental/mcmc/thinning_kernel_test.py -tensorflow_probability/python/experimental/mcmc/tracing_reducer.py -tensorflow_probability/python/experimental/mcmc/tracing_reducer_test.py -tensorflow_probability/python/experimental/mcmc/weighted_resampling.py -tensorflow_probability/python/experimental/mcmc/weighted_resampling_test.py -tensorflow_probability/python/experimental/mcmc/windowed_sampling.py -tensorflow_probability/python/experimental/mcmc/windowed_sampling_test.py -tensorflow_probability/python/experimental/mcmc/with_reductions.py -tensorflow_probability/python/experimental/mcmc/with_reductions_test.py -tensorflow_probability/python/experimental/mcmc/internal/__init__.py -tensorflow_probability/python/experimental/mcmc/internal/test_fixtures.py -tensorflow_probability/python/experimental/nn/__init__.py -tensorflow_probability/python/experimental/nn/affine_layers.py -tensorflow_probability/python/experimental/nn/affine_layers_test.py -tensorflow_probability/python/experimental/nn/convolutional_layers.py -tensorflow_probability/python/experimental/nn/convolutional_layers_test.py -tensorflow_probability/python/experimental/nn/convolutional_layers_v2.py -tensorflow_probability/python/experimental/nn/convolutional_layers_v2_test.py -tensorflow_probability/python/experimental/nn/convolutional_transpose_layers.py -tensorflow_probability/python/experimental/nn/convolutional_transpose_layers_test.py -tensorflow_probability/python/experimental/nn/layers.py -tensorflow_probability/python/experimental/nn/layers_test.py -tensorflow_probability/python/experimental/nn/variational_base.py -tensorflow_probability/python/experimental/nn/initializers/__init__.py -tensorflow_probability/python/experimental/nn/initializers/initializers.py -tensorflow_probability/python/experimental/nn/losses/__init__.py -tensorflow_probability/python/experimental/nn/losses/losses.py -tensorflow_probability/python/experimental/nn/util/__init__.py -tensorflow_probability/python/experimental/nn/util/convolution_util.py -tensorflow_probability/python/experimental/nn/util/convolution_util_test.py -tensorflow_probability/python/experimental/nn/util/kernel_bias.py -tensorflow_probability/python/experimental/nn/util/kernel_bias_test.py -tensorflow_probability/python/experimental/nn/util/random_variable.py -tensorflow_probability/python/experimental/nn/util/random_variable_test.py -tensorflow_probability/python/experimental/nn/util/utils.py -tensorflow_probability/python/experimental/parallel_filter/__init__.py -tensorflow_probability/python/experimental/parallel_filter/parallel_kalman_filter_lib.py -tensorflow_probability/python/experimental/parallel_filter/parallel_kalman_filter_test.py -tensorflow_probability/python/experimental/psd_kernels/__init__.py -tensorflow_probability/python/experimental/psd_kernels/additive_kernel.py -tensorflow_probability/python/experimental/psd_kernels/additive_kernel_test.py -tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_categorical.py -tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_categorical_test.py -tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_embedded_categorical.py -tensorflow_probability/python/experimental/psd_kernels/feature_scaled_with_embedded_categorical_test.py -tensorflow_probability/python/experimental/psd_kernels/multitask_kernel.py -tensorflow_probability/python/experimental/psd_kernels/multitask_kernel_test.py -tensorflow_probability/python/experimental/sequential/__init__.py -tensorflow_probability/python/experimental/sequential/ensemble_adjustment_kalman_filter.py -tensorflow_probability/python/experimental/sequential/ensemble_adjustment_kalman_filter_test.py -tensorflow_probability/python/experimental/sequential/ensemble_kalman_filter.py -tensorflow_probability/python/experimental/sequential/ensemble_kalman_filter_test.py -tensorflow_probability/python/experimental/sequential/extended_kalman_filter.py -tensorflow_probability/python/experimental/sequential/extended_kalman_filter_test.py -tensorflow_probability/python/experimental/sequential/iterated_filter.py -tensorflow_probability/python/experimental/sequential/iterated_filter_test.py -tensorflow_probability/python/experimental/stats/__init__.py -tensorflow_probability/python/experimental/stats/sample_stats.py -tensorflow_probability/python/experimental/stats/sample_stats_test.py -tensorflow_probability/python/experimental/sts_gibbs/__init__.py -tensorflow_probability/python/experimental/sts_gibbs/benchmarks_test.py -tensorflow_probability/python/experimental/sts_gibbs/dynamic_spike_and_slab.py -tensorflow_probability/python/experimental/sts_gibbs/dynamic_spike_and_slab_test.py -tensorflow_probability/python/experimental/sts_gibbs/gibbs_sampler.py -tensorflow_probability/python/experimental/sts_gibbs/gibbs_sampler_test.py -tensorflow_probability/python/experimental/sts_gibbs/sample_parameters.py -tensorflow_probability/python/experimental/sts_gibbs/sample_parameters_test.py -tensorflow_probability/python/experimental/sts_gibbs/spike_and_slab.py -tensorflow_probability/python/experimental/sts_gibbs/spike_and_slab_test.py -tensorflow_probability/python/experimental/substrates/__init__.py -tensorflow_probability/python/experimental/tangent_spaces/__init__.py -tensorflow_probability/python/experimental/tangent_spaces/simplex.py -tensorflow_probability/python/experimental/tangent_spaces/simplex_test.py -tensorflow_probability/python/experimental/tangent_spaces/spaces.py -tensorflow_probability/python/experimental/tangent_spaces/spaces_test.py -tensorflow_probability/python/experimental/tangent_spaces/spaces_test_util.py -tensorflow_probability/python/experimental/tangent_spaces/spherical.py -tensorflow_probability/python/experimental/tangent_spaces/spherical_test.py -tensorflow_probability/python/experimental/tangent_spaces/symmetric_matrix.py -tensorflow_probability/python/experimental/tangent_spaces/symmetric_matrix_test.py -tensorflow_probability/python/experimental/util/__init__.py -tensorflow_probability/python/experimental/util/composite_tensor.py -tensorflow_probability/python/experimental/util/deferred_module.py -tensorflow_probability/python/experimental/util/deferred_module_test.py -tensorflow_probability/python/experimental/util/jit_public_methods.py -tensorflow_probability/python/experimental/util/jit_public_methods_test.py -tensorflow_probability/python/experimental/util/special_methods.py -tensorflow_probability/python/experimental/util/trainable.py -tensorflow_probability/python/experimental/util/trainable_test.py -tensorflow_probability/python/experimental/vi/__init__.py -tensorflow_probability/python/experimental/vi/automatic_structured_vi.py -tensorflow_probability/python/experimental/vi/automatic_structured_vi_test.py -tensorflow_probability/python/experimental/vi/surrogate_posteriors.py -tensorflow_probability/python/experimental/vi/surrogate_posteriors_test.py -tensorflow_probability/python/experimental/vi/util/__init__.py -tensorflow_probability/python/experimental/vi/util/trainable_linear_operators.py -tensorflow_probability/python/experimental/vi/util/trainable_linear_operators_test.py -tensorflow_probability/python/glm/__init__.py -tensorflow_probability/python/glm/family.py -tensorflow_probability/python/glm/family_test.py -tensorflow_probability/python/glm/fisher_scoring.py -tensorflow_probability/python/glm/fisher_scoring_test.py -tensorflow_probability/python/glm/proximal_hessian.py -tensorflow_probability/python/glm/proximal_hessian_test.py -tensorflow_probability/python/internal/__init__.py -tensorflow_probability/python/internal/all_util.py -tensorflow_probability/python/internal/assert_util.py -tensorflow_probability/python/internal/auto_composite_tensor.py -tensorflow_probability/python/internal/auto_composite_tensor_test.py -tensorflow_probability/python/internal/batch_shape_lib.py -tensorflow_probability/python/internal/batch_shape_lib_test.py -tensorflow_probability/python/internal/batched_rejection_sampler.py -tensorflow_probability/python/internal/batched_rejection_sampler_test.py -tensorflow_probability/python/internal/broadcast_util.py -tensorflow_probability/python/internal/broadcast_util_test.py -tensorflow_probability/python/internal/cache_util.py -tensorflow_probability/python/internal/cache_util_test.py -tensorflow_probability/python/internal/callable_util.py -tensorflow_probability/python/internal/callable_util_test.py -tensorflow_probability/python/internal/custom_gradient.py -tensorflow_probability/python/internal/custom_gradient_test.py -tensorflow_probability/python/internal/distribute_lib.py -tensorflow_probability/python/internal/distribute_lib_test.py -tensorflow_probability/python/internal/distribute_test_lib.py -tensorflow_probability/python/internal/distribution_util.py -tensorflow_probability/python/internal/distribution_util_test.py -tensorflow_probability/python/internal/docstring_util.py -tensorflow_probability/python/internal/docstring_util_test.py -tensorflow_probability/python/internal/dtype_util.py -tensorflow_probability/python/internal/dtype_util_test.py -tensorflow_probability/python/internal/empirical_statistical_testing.py -tensorflow_probability/python/internal/empirical_statistical_testing_test.py -tensorflow_probability/python/internal/hypothesis_testlib.py -tensorflow_probability/python/internal/hypothesis_testlib_test.py -tensorflow_probability/python/internal/implementation_selection.py -tensorflow_probability/python/internal/implementation_selection_test.py -tensorflow_probability/python/internal/lazy_loader.py -tensorflow_probability/python/internal/loop_util.py -tensorflow_probability/python/internal/loop_util_test.py -tensorflow_probability/python/internal/monte_carlo.py -tensorflow_probability/python/internal/name_util.py -tensorflow_probability/python/internal/nest_util.py -tensorflow_probability/python/internal/nest_util_test.py -tensorflow_probability/python/internal/numerics_testing.py -tensorflow_probability/python/internal/numerics_testing_test.py -tensorflow_probability/python/internal/parameter_properties.py -tensorflow_probability/python/internal/prefer_static.py -tensorflow_probability/python/internal/prefer_static_shape64_test.py -tensorflow_probability/python/internal/prefer_static_test.py -tensorflow_probability/python/internal/reparameterization.py -tensorflow_probability/python/internal/samplers.py -tensorflow_probability/python/internal/samplers_test.py -tensorflow_probability/python/internal/slicing.py -tensorflow_probability/python/internal/slicing_test.py -tensorflow_probability/python/internal/special_math.py -tensorflow_probability/python/internal/special_math_test.py -tensorflow_probability/python/internal/structural_tuple.py -tensorflow_probability/python/internal/structural_tuple_test.py -tensorflow_probability/python/internal/tensor_util.py -tensorflow_probability/python/internal/tensor_util_test.py -tensorflow_probability/python/internal/tensorshape_util.py -tensorflow_probability/python/internal/tensorshape_util_test.py -tensorflow_probability/python/internal/test_combinations.py -tensorflow_probability/python/internal/test_combinations_test.py -tensorflow_probability/python/internal/test_util.py -tensorflow_probability/python/internal/test_util_test.py -tensorflow_probability/python/internal/tf_keras.py -tensorflow_probability/python/internal/trainable_state_util.py -tensorflow_probability/python/internal/trainable_state_util_test.py -tensorflow_probability/python/internal/unnest.py -tensorflow_probability/python/internal/unnest_test.py -tensorflow_probability/python/internal/variadic_reduce.py -tensorflow_probability/python/internal/vectorization_util.py -tensorflow_probability/python/internal/vectorization_util_test.py -tensorflow_probability/python/internal/backend/__init__.py -tensorflow_probability/python/internal/backend/numpy/__init__.py -tensorflow_probability/python/internal/backend/numpy/__internal__.py -tensorflow_probability/python/internal/backend/numpy/_utils.py -tensorflow_probability/python/internal/backend/numpy/bitwise.py -tensorflow_probability/python/internal/backend/numpy/compat.py -tensorflow_probability/python/internal/backend/numpy/composite_tensor.py -tensorflow_probability/python/internal/backend/numpy/composite_tensor_gradient.py -tensorflow_probability/python/internal/backend/numpy/config.py -tensorflow_probability/python/internal/backend/numpy/control_flow.py -tensorflow_probability/python/internal/backend/numpy/data_structures.py -tensorflow_probability/python/internal/backend/numpy/debugging.py -tensorflow_probability/python/internal/backend/numpy/deprecation.py -tensorflow_probability/python/internal/backend/numpy/dtype.py -tensorflow_probability/python/internal/backend/numpy/errors.py -tensorflow_probability/python/internal/backend/numpy/functional_ops.py -tensorflow_probability/python/internal/backend/numpy/initializers.py -tensorflow_probability/python/internal/backend/numpy/keras_layers.py -tensorflow_probability/python/internal/backend/numpy/linalg.py -tensorflow_probability/python/internal/backend/numpy/linalg_impl.py -tensorflow_probability/python/internal/backend/numpy/misc.py -tensorflow_probability/python/internal/backend/numpy/nest.py -tensorflow_probability/python/internal/backend/numpy/nn.py -tensorflow_probability/python/internal/backend/numpy/numpy_array.py -tensorflow_probability/python/internal/backend/numpy/numpy_keras.py -tensorflow_probability/python/internal/backend/numpy/numpy_logging.py -tensorflow_probability/python/internal/backend/numpy/numpy_math.py -tensorflow_probability/python/internal/backend/numpy/numpy_signal.py -tensorflow_probability/python/internal/backend/numpy/numpy_test.py -tensorflow_probability/python/internal/backend/numpy/ops.py -tensorflow_probability/python/internal/backend/numpy/private.py -tensorflow_probability/python/internal/backend/numpy/random_generators.py -tensorflow_probability/python/internal/backend/numpy/raw_ops.py -tensorflow_probability/python/internal/backend/numpy/resource_variable_ops.py -tensorflow_probability/python/internal/backend/numpy/rewrite_equivalence_test.py -tensorflow_probability/python/internal/backend/numpy/sets_lib.py -tensorflow_probability/python/internal/backend/numpy/sparse_lib.py -tensorflow_probability/python/internal/backend/numpy/tensor_array_ops.py -tensorflow_probability/python/internal/backend/numpy/tensor_array_ops_test.py -tensorflow_probability/python/internal/backend/numpy/tensor_spec.py -tensorflow_probability/python/internal/backend/numpy/test_lib.py -tensorflow_probability/python/internal/backend/numpy/tf_inspect.py -tensorflow_probability/python/internal/backend/numpy/type_spec.py -tensorflow_probability/python/internal/backend/numpy/type_spec_registry.py -tensorflow_probability/python/internal/backend/numpy/v1.py -tensorflow_probability/python/internal/backend/numpy/v2.py -tensorflow_probability/python/internal/backend/numpy/variable_utils.py -tensorflow_probability/python/internal/backend/numpy/variables.py -tensorflow_probability/python/internal/backend/numpy/gen/__init__.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_addition.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_adjoint.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_block_diag.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_block_lower_triangular.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_circulant.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_composition.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_diag.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_full_matrix.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_householder.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_identity.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_inversion.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_kronecker.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_low_rank_update.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_lower_triangular.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_permutation.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_toeplitz.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_util.py -tensorflow_probability/python/internal/backend/numpy/gen/linear_operator_zeros.py -tensorflow_probability/python/internal/backend/numpy/gen/property_hint_util.py -tensorflow_probability/python/internal/backend/numpy/gen/slicing.py -tensorflow_probability/python/internal/backend/numpy/gen/tensor_shape.py -tensorflow_probability/python/layers/__init__.py -tensorflow_probability/python/layers/conv_variational.py -tensorflow_probability/python/layers/conv_variational_test.py -tensorflow_probability/python/layers/dense_variational.py -tensorflow_probability/python/layers/dense_variational_test.py -tensorflow_probability/python/layers/dense_variational_v2.py -tensorflow_probability/python/layers/dense_variational_v2_test.py -tensorflow_probability/python/layers/distribution_layer.py -tensorflow_probability/python/layers/distribution_layer_test.py -tensorflow_probability/python/layers/initializers.py -tensorflow_probability/python/layers/initializers_test.py -tensorflow_probability/python/layers/masked_autoregressive.py -tensorflow_probability/python/layers/masked_autoregressive_test.py -tensorflow_probability/python/layers/util.py -tensorflow_probability/python/layers/variable_input.py -tensorflow_probability/python/layers/variable_input_test.py -tensorflow_probability/python/layers/weight_norm.py -tensorflow_probability/python/layers/weight_norm_test.py -tensorflow_probability/python/layers/internal/__init__.py -tensorflow_probability/python/layers/internal/distribution_tensor_coercible.py -tensorflow_probability/python/layers/internal/distribution_tensor_coercible_test.py -tensorflow_probability/python/layers/internal/tensor_tuple.py -tensorflow_probability/python/layers/internal/tensor_tuple_test.py -tensorflow_probability/python/math/__init__.py -tensorflow_probability/python/math/bessel.py -tensorflow_probability/python/math/bessel_test.py -tensorflow_probability/python/math/custom_gradient.py -tensorflow_probability/python/math/custom_gradient_test.py -tensorflow_probability/python/math/diag_jacobian.py -tensorflow_probability/python/math/diag_jacobian_test.py -tensorflow_probability/python/math/generic.py -tensorflow_probability/python/math/generic_test.py -tensorflow_probability/python/math/gradient.py -tensorflow_probability/python/math/gradient_test.py -tensorflow_probability/python/math/gram_schmidt.py -tensorflow_probability/python/math/gram_schmidt_test.py -tensorflow_probability/python/math/hypergeometric.py -tensorflow_probability/python/math/hypergeometric_test.py -tensorflow_probability/python/math/integration.py -tensorflow_probability/python/math/integration_test.py -tensorflow_probability/python/math/interpolation.py -tensorflow_probability/python/math/interpolation_test.py -tensorflow_probability/python/math/linalg.py -tensorflow_probability/python/math/linalg_test.py -tensorflow_probability/python/math/minimize.py -tensorflow_probability/python/math/minimize_test.py -tensorflow_probability/python/math/numeric.py -tensorflow_probability/python/math/numeric_test.py -tensorflow_probability/python/math/root_search.py -tensorflow_probability/python/math/root_search_test.py -tensorflow_probability/python/math/scan_associative.py -tensorflow_probability/python/math/scan_associative_test.py -tensorflow_probability/python/math/sparse.py -tensorflow_probability/python/math/sparse_test.py -tensorflow_probability/python/math/special.py -tensorflow_probability/python/math/special_test.py -tensorflow_probability/python/math/ode/__init__.py -tensorflow_probability/python/math/ode/base.py -tensorflow_probability/python/math/ode/bdf.py -tensorflow_probability/python/math/ode/bdf_util.py -tensorflow_probability/python/math/ode/bdf_util_test.py -tensorflow_probability/python/math/ode/dormand_prince.py -tensorflow_probability/python/math/ode/ode_test.py -tensorflow_probability/python/math/ode/runge_kutta_util.py -tensorflow_probability/python/math/ode/runge_kutta_util_test.py -tensorflow_probability/python/math/ode/util.py -tensorflow_probability/python/math/ode/util_test.py -tensorflow_probability/python/math/ode/xla_test.py -tensorflow_probability/python/math/psd_kernels/__init__.py -tensorflow_probability/python/math/psd_kernels/changepoint.py -tensorflow_probability/python/math/psd_kernels/changepoint_test.py -tensorflow_probability/python/math/psd_kernels/exp_sin_squared.py -tensorflow_probability/python/math/psd_kernels/exp_sin_squared_test.py -tensorflow_probability/python/math/psd_kernels/exponential_curve.py -tensorflow_probability/python/math/psd_kernels/exponential_curve_test.py -tensorflow_probability/python/math/psd_kernels/exponentiated_quadratic.py -tensorflow_probability/python/math/psd_kernels/exponentiated_quadratic_test.py -tensorflow_probability/python/math/psd_kernels/feature_scaled.py -tensorflow_probability/python/math/psd_kernels/feature_scaled_test.py -tensorflow_probability/python/math/psd_kernels/feature_transformed.py -tensorflow_probability/python/math/psd_kernels/feature_transformed_test.py -tensorflow_probability/python/math/psd_kernels/gamma_exponential.py -tensorflow_probability/python/math/psd_kernels/gamma_exponential_test.py -tensorflow_probability/python/math/psd_kernels/hypothesis_testlib.py -tensorflow_probability/python/math/psd_kernels/kumaraswamy_transformed.py -tensorflow_probability/python/math/psd_kernels/kumaraswamy_transformed_test.py -tensorflow_probability/python/math/psd_kernels/matern.py -tensorflow_probability/python/math/psd_kernels/matern_test.py -tensorflow_probability/python/math/psd_kernels/parabolic.py -tensorflow_probability/python/math/psd_kernels/parabolic_test.py -tensorflow_probability/python/math/psd_kernels/pointwise_exponential.py -tensorflow_probability/python/math/psd_kernels/pointwise_exponential_test.py -tensorflow_probability/python/math/psd_kernels/polynomial.py -tensorflow_probability/python/math/psd_kernels/polynomial_test.py -tensorflow_probability/python/math/psd_kernels/positive_semidefinite_kernel.py -tensorflow_probability/python/math/psd_kernels/positive_semidefinite_kernel_test.py -tensorflow_probability/python/math/psd_kernels/psd_kernel_properties_test.py -tensorflow_probability/python/math/psd_kernels/rational_quadratic.py -tensorflow_probability/python/math/psd_kernels/rational_quadratic_test.py -tensorflow_probability/python/math/psd_kernels/schur_complement.py -tensorflow_probability/python/math/psd_kernels/schur_complement_test.py -tensorflow_probability/python/math/psd_kernels/spectral_mixture.py -tensorflow_probability/python/math/psd_kernels/spectral_mixture_test.py -tensorflow_probability/python/math/psd_kernels/internal/__init__.py -tensorflow_probability/python/math/psd_kernels/internal/test_util.py -tensorflow_probability/python/math/psd_kernels/internal/test_util_test.py -tensorflow_probability/python/math/psd_kernels/internal/util.py -tensorflow_probability/python/math/psd_kernels/internal/util_test.py -tensorflow_probability/python/mcmc/__init__.py -tensorflow_probability/python/mcmc/diagnostic.py -tensorflow_probability/python/mcmc/diagnostic_test.py -tensorflow_probability/python/mcmc/dual_averaging_step_size_adaptation.py -tensorflow_probability/python/mcmc/dual_averaging_step_size_adaptation_test.py -tensorflow_probability/python/mcmc/eight_schools_hmc.py -tensorflow_probability/python/mcmc/eight_schools_hmc_eager_test.py -tensorflow_probability/python/mcmc/eight_schools_hmc_graph_test.py -tensorflow_probability/python/mcmc/hmc.py -tensorflow_probability/python/mcmc/hmc_test.py -tensorflow_probability/python/mcmc/kernel.py -tensorflow_probability/python/mcmc/langevin.py -tensorflow_probability/python/mcmc/langevin_test.py -tensorflow_probability/python/mcmc/metropolis_hastings.py -tensorflow_probability/python/mcmc/metropolis_hastings_test.py -tensorflow_probability/python/mcmc/nuts.py -tensorflow_probability/python/mcmc/nuts_test.py -tensorflow_probability/python/mcmc/random_walk_metropolis.py -tensorflow_probability/python/mcmc/random_walk_metropolis_test.py -tensorflow_probability/python/mcmc/replica_exchange_mc.py -tensorflow_probability/python/mcmc/replica_exchange_mc_test.py -tensorflow_probability/python/mcmc/sample.py -tensorflow_probability/python/mcmc/sample_annealed_importance.py -tensorflow_probability/python/mcmc/sample_annealed_importance_test.py -tensorflow_probability/python/mcmc/sample_halton_sequence_lib.py -tensorflow_probability/python/mcmc/sample_halton_sequence_test.py -tensorflow_probability/python/mcmc/sample_test.py -tensorflow_probability/python/mcmc/simple_step_size_adaptation.py -tensorflow_probability/python/mcmc/simple_step_size_adaptation_test.py -tensorflow_probability/python/mcmc/slice_sampler_kernel.py -tensorflow_probability/python/mcmc/slice_sampler_test.py -tensorflow_probability/python/mcmc/transformed_kernel.py -tensorflow_probability/python/mcmc/transformed_kernel_test.py -tensorflow_probability/python/mcmc/internal/__init__.py -tensorflow_probability/python/mcmc/internal/leapfrog_integrator.py -tensorflow_probability/python/mcmc/internal/leapfrog_integrator_test.py -tensorflow_probability/python/mcmc/internal/slice_sampler_utils.py -tensorflow_probability/python/mcmc/internal/util.py -tensorflow_probability/python/mcmc/internal/util_test.py -tensorflow_probability/python/monte_carlo/__init__.py -tensorflow_probability/python/monte_carlo/expectation.py -tensorflow_probability/python/monte_carlo/expectation_test.py -tensorflow_probability/python/optimizer/__init__.py -tensorflow_probability/python/optimizer/bfgs.py -tensorflow_probability/python/optimizer/bfgs_test.py -tensorflow_probability/python/optimizer/bfgs_utils.py -tensorflow_probability/python/optimizer/differential_evolution.py -tensorflow_probability/python/optimizer/differential_evolution_test.py -tensorflow_probability/python/optimizer/lbfgs.py -tensorflow_probability/python/optimizer/lbfgs_test.py -tensorflow_probability/python/optimizer/nelder_mead.py -tensorflow_probability/python/optimizer/nelder_mead_test.py -tensorflow_probability/python/optimizer/proximal_hessian_sparse.py -tensorflow_probability/python/optimizer/proximal_hessian_sparse_test.py -tensorflow_probability/python/optimizer/sgld.py -tensorflow_probability/python/optimizer/sgld_test.py -tensorflow_probability/python/optimizer/variational_sgd.py -tensorflow_probability/python/optimizer/variational_sgd_test.py -tensorflow_probability/python/optimizer/convergence_criteria/__init__.py -tensorflow_probability/python/optimizer/convergence_criteria/convergence_criterion.py -tensorflow_probability/python/optimizer/convergence_criteria/loss_not_decreasing.py -tensorflow_probability/python/optimizer/convergence_criteria/loss_not_decreasing_test.py -tensorflow_probability/python/optimizer/convergence_criteria/successive_gradients_are_uncorrelated.py -tensorflow_probability/python/optimizer/convergence_criteria/successive_gradients_are_uncorrelated_test.py -tensorflow_probability/python/optimizer/linesearch/__init__.py -tensorflow_probability/python/optimizer/linesearch/hager_zhang.py -tensorflow_probability/python/optimizer/linesearch/hager_zhang_test.py -tensorflow_probability/python/optimizer/linesearch/internal/__init__.py -tensorflow_probability/python/optimizer/linesearch/internal/hager_zhang_lib.py -tensorflow_probability/python/optimizer/linesearch/internal/hager_zhang_lib_test.py -tensorflow_probability/python/random/__init__.py -tensorflow_probability/python/random/random_ops.py -tensorflow_probability/python/random/random_ops_test.py -tensorflow_probability/python/stats/__init__.py -tensorflow_probability/python/stats/calibration.py -tensorflow_probability/python/stats/calibration_test.py -tensorflow_probability/python/stats/kendalls_tau.py -tensorflow_probability/python/stats/kendalls_tau_test.py -tensorflow_probability/python/stats/leave_one_out.py -tensorflow_probability/python/stats/leave_one_out_test.py -tensorflow_probability/python/stats/moving_stats.py -tensorflow_probability/python/stats/moving_stats_test.py -tensorflow_probability/python/stats/quantiles.py -tensorflow_probability/python/stats/quantiles_test.py -tensorflow_probability/python/stats/ranking.py -tensorflow_probability/python/stats/ranking_test.py -tensorflow_probability/python/stats/sample_stats.py -tensorflow_probability/python/stats/sample_stats_test.py -tensorflow_probability/python/sts/__init__.py -tensorflow_probability/python/sts/decomposition.py -tensorflow_probability/python/sts/decomposition_test.py -tensorflow_probability/python/sts/default_model.py -tensorflow_probability/python/sts/default_model_test.py -tensorflow_probability/python/sts/fitting.py -tensorflow_probability/python/sts/fitting_test.py -tensorflow_probability/python/sts/forecast.py -tensorflow_probability/python/sts/forecast_test.py -tensorflow_probability/python/sts/holiday_effects.py -tensorflow_probability/python/sts/holiday_effects_test.py -tensorflow_probability/python/sts/regularization.py -tensorflow_probability/python/sts/regularization_test.py -tensorflow_probability/python/sts/structural_time_series.py -tensorflow_probability/python/sts/structural_time_series_test.py -tensorflow_probability/python/sts/anomaly_detection/__init__.py -tensorflow_probability/python/sts/anomaly_detection/anomaly_detection_lib.py -tensorflow_probability/python/sts/anomaly_detection/anomaly_detection_test.py -tensorflow_probability/python/sts/components/__init__.py -tensorflow_probability/python/sts/components/autoregressive.py -tensorflow_probability/python/sts/components/autoregressive_integrated_moving_average.py -tensorflow_probability/python/sts/components/autoregressive_integrated_moving_average_test.py -tensorflow_probability/python/sts/components/autoregressive_moving_average.py -tensorflow_probability/python/sts/components/autoregressive_moving_average_test.py -tensorflow_probability/python/sts/components/autoregressive_test.py -tensorflow_probability/python/sts/components/dynamic_regression.py -tensorflow_probability/python/sts/components/dynamic_regression_test.py -tensorflow_probability/python/sts/components/local_level.py -tensorflow_probability/python/sts/components/local_level_test.py -tensorflow_probability/python/sts/components/local_linear_trend.py -tensorflow_probability/python/sts/components/local_linear_trend_test.py -tensorflow_probability/python/sts/components/regression.py -tensorflow_probability/python/sts/components/regression_test.py -tensorflow_probability/python/sts/components/seasonal.py -tensorflow_probability/python/sts/components/seasonal_test.py -tensorflow_probability/python/sts/components/semilocal_linear_trend.py -tensorflow_probability/python/sts/components/semilocal_linear_trend_test.py -tensorflow_probability/python/sts/components/smooth_seasonal.py -tensorflow_probability/python/sts/components/smooth_seasonal_test.py -tensorflow_probability/python/sts/components/sum.py -tensorflow_probability/python/sts/components/sum_test.py -tensorflow_probability/python/sts/internal/__init__.py -tensorflow_probability/python/sts/internal/missing_values_util.py -tensorflow_probability/python/sts/internal/missing_values_util_test.py -tensorflow_probability/python/sts/internal/seasonality_util.py -tensorflow_probability/python/sts/internal/seasonality_util_test.py -tensorflow_probability/python/sts/internal/util.py -tensorflow_probability/python/sts/internal/util_test.py -tensorflow_probability/python/util/__init__.py -tensorflow_probability/python/util/deferred_tensor.py -tensorflow_probability/python/util/deferred_tensor_test.py -tensorflow_probability/python/util/seed_stream.py -tensorflow_probability/python/util/seed_stream_test.py -tensorflow_probability/python/vi/__init__.py -tensorflow_probability/python/vi/csiszar_divergence.py -tensorflow_probability/python/vi/csiszar_divergence_test.py -tensorflow_probability/python/vi/mutual_information.py -tensorflow_probability/python/vi/mutual_information_test.py -tensorflow_probability/python/vi/optimization.py -tensorflow_probability/python/vi/optimization_test.py -tensorflow_probability/substrates/__init__.py -tensorflow_probability/substrates/jax/__init__.py -tensorflow_probability/substrates/numpy/__init__.py -tfp_nightly.egg-info/PKG-INFO -tfp_nightly.egg-info/SOURCES.txt -tfp_nightly.egg-info/dependency_links.txt -tfp_nightly.egg-info/not-zip-safe -tfp_nightly.egg-info/requires.txt -tfp_nightly.egg-info/top_level.txt \ No newline at end of file diff --git a/tfp_nightly.egg-info/dependency_links.txt b/tfp_nightly.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789179..0000000000 --- a/tfp_nightly.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tfp_nightly.egg-info/not-zip-safe b/tfp_nightly.egg-info/not-zip-safe deleted file mode 100644 index 8b13789179..0000000000 --- a/tfp_nightly.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tfp_nightly.egg-info/requires.txt b/tfp_nightly.egg-info/requires.txt deleted file mode 100644 index 2a08bbd673..0000000000 --- a/tfp_nightly.egg-info/requires.txt +++ /dev/null @@ -1,14 +0,0 @@ -absl-py -six>=1.10.0 -numpy>=1.13.3 -decorator -cloudpickle>=1.3 -gast>=0.3.2 -dm-tree - -[jax] -jax -jaxlib - -[tfds] -tfds-nightly diff --git a/tfp_nightly.egg-info/top_level.txt b/tfp_nightly.egg-info/top_level.txt deleted file mode 100644 index ecabf3d7f4..0000000000 --- a/tfp_nightly.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -tensorflow_probability From 53ba255d10ccfb69830ef9b3ac2d530589e4b0cc Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 10 Dec 2023 22:57:09 +0100 Subject: [PATCH 03/24] pylint --- .../experimental/mcmc/particle_filter.py | 153 ++++++++++++------ .../experimental/mcmc/particle_filter_test.py | 46 ++++-- 2 files changed, 137 insertions(+), 62 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index b920b0db85..2af7a68999 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -25,8 +25,6 @@ from tensorflow_probability.python.internal import prefer_static as ps from tensorflow_probability.python.internal import samplers from tensorflow_probability.python.mcmc.internal import util as mcmc_util -from tensorflow_probability.python.distributions import batch_reshape -from tensorflow_probability.python.distributions import batch_broadcast from tensorflow_probability.python.distributions import normal from tensorflow_probability.python.distributions import uniform @@ -51,7 +49,8 @@ def _default_trace_fn(state, kernel_results): def _default_kernel(parameters): mean, variance = tf.nn.moments(parameters, axes=[0]) - proposal_distribution = normal.Normal(loc=tf.fill(parameters.shape, mean), scale=tf.sqrt(variance)) + proposal_distribution = normal.Normal(loc=tf.fill(parameters.shape, mean), + scale=tf.sqrt(variance)) return proposal_distribution @@ -499,15 +498,18 @@ def smc_squared( unbiased_gradients=True, seed=None, ): - init_seed, loop_seed, step_seed = samplers.split_seed(seed, n=3, salt='smc_squared') + _1, loop_seed, _2 = samplers.split_seed(seed, n=3, salt='smc_squared') num_observation_steps = ps.size0(tf.nest.flatten(inner_observations)[0]) - # TODO: The following two lines compensates for having the first empty step in smc2 + # TODO: The following two lines compensates for having the + # first empty step in smc2 num_timesteps = (1 + num_transitions_per_observation * (num_observation_steps - 1)) + 1 last_obs_expanded = tf.expand_dims(inner_observations[-1], axis=0) - inner_observations = tf.concat([inner_observations, last_obs_expanded], axis=0) + inner_observations = tf.concat([inner_observations, + last_obs_expanded], + axis=0) if outer_rejuvenation_criterion_fn is None: outer_rejuvenation_criterion_fn = lambda *_: tf.constant(False) @@ -543,7 +545,8 @@ def smc_squared( observation_fn=inner_observation_fn(initial_state), initial_state_prior=inner_initial_state_prior(0, initial_state), initial_state_proposal=(inner_initial_state_proposal(0, initial_state) - if inner_initial_state_proposal is not None else None), + if inner_initial_state_proposal is not None + else None), num_particles=num_inner_particles, particles_dim=1, seed=seed @@ -594,7 +597,8 @@ def smc_squared( traced_results = sequential_monte_carlo( initial_weighted_particles=initial_state, - propose_and_update_log_weights_fn=outer_propose_and_update_log_weights_fn, + propose_and_update_log_weights_fn= + outer_propose_and_update_log_weights_fn, resample_fn=outer_resample_fn, resample_criterion_fn=outer_resample_criterion_fn, trace_criterion_fn=outer_trace_criterion_fn, @@ -631,7 +635,8 @@ def _outer_particle_filter_propose_and_update_log_weights_fn( """Build a function specifying a particle filter update step.""" def _outer_propose_and_update_log_weights_fn(step, state, seed=None): outside_parameters = state.particles[0] - inner_weighted_particles, log_weights = state.particles[1], state.log_weights + inner_weighted_particles, log_weights = state.particles[1], \ + state.log_weights filter_results = smc_kernel.SequentialMonteCarloResults( steps=step, @@ -654,38 +659,57 @@ def _outer_propose_and_update_log_weights_fn(step, state, seed=None): ) kernel = smc_kernel.SequentialMonteCarlo( - propose_and_update_log_weights_fn=inner_propose_and_update_log_weights_fn, + propose_and_update_log_weights_fn= + inner_propose_and_update_log_weights_fn, resample_fn=inner_resample_fn, resample_criterion_fn=inner_resample_criterion_fn, particles_dim=1, unbiased_gradients=unbiased_gradients ) - inner_weighted_particles, filter_results = kernel.one_step(inner_weighted_particles, - filter_results, - seed=seed) + inner_weighted_particles, filter_results = kernel.one_step( + inner_weighted_particles, + filter_results, + seed=seed + ) - updated_log_weights = log_weights + filter_results.incremental_log_marginal_likelihood + updated_log_weights = log_weights + \ + filter_results.incremental_log_marginal_likelihood do_rejuvenation = outer_rejuvenation_criterion_fn(step, state) - def rejuvenate_particles(outside_parameters, updated_log_weights, inner_weighted_particles, filter_results): - proposed_parameters = parameter_proposal_kernel(outside_parameters).sample(seed=seed) + def rejuvenate_particles(outside_parameters, + updated_log_weights, + inner_weighted_particles, + filter_results): + proposed_parameters = parameter_proposal_kernel( + outside_parameters + ).sample(seed=seed) rej_params_log_weights = ps.zeros_like( initial_parameter_prior.log_prob(proposed_parameters) ) - rej_params_log_weights = tf.nn.log_softmax(rej_params_log_weights, axis=0) - - rej_inner_weighted_particles = _particle_filter_initial_weighted_particles( - observations=inner_observations, - observation_fn=inner_observation_fn(proposed_parameters), - initial_state_prior=inner_initial_state_prior(0, proposed_parameters), - initial_state_proposal=(inner_initial_state_proposal(0, proposed_parameters) - if inner_initial_state_proposal is not None else None), - num_particles=num_inner_particles, - particles_dim=1, - seed=seed) + rej_params_log_weights = tf.nn.log_softmax( + rej_params_log_weights, + axis=0 + ) + + rej_inner_weighted_particles = \ + _particle_filter_initial_weighted_particles( + observations=inner_observations, + observation_fn=inner_observation_fn(proposed_parameters), + initial_state_prior=inner_initial_state_prior( + 0, + proposed_parameters + ), + initial_state_proposal=( + inner_initial_state_proposal(0, proposed_parameters) + if inner_initial_state_proposal is not None + else None), + num_particles=num_inner_particles, + particles_dim=1, + seed=seed + ) batch_zeros = tf.zeros(ps.shape(log_weights)) @@ -709,11 +733,13 @@ def rejuvenate_particles(outside_parameters, updated_log_weights, inner_weighted observation_fn=inner_observation_fn(proposed_parameters), extra_fn=extra_fn, particles_dim=1, - num_transitions_per_observation=num_transitions_per_observation) + num_transitions_per_observation= + num_transitions_per_observation) ) rej_kernel = smc_kernel.SequentialMonteCarlo( - propose_and_update_log_weights_fn=rej_inner_propose_and_update_log_weights_fn, + propose_and_update_log_weights_fn= + rej_inner_propose_and_update_log_weights_fn, resample_fn=inner_resample_fn, resample_criterion_fn=inner_resample_criterion_fn, particles_dim=1, @@ -732,16 +758,27 @@ def body(i, rej_parameters_weights, rej_params_log_weights): - rej_inner_weighted_particles, rej_filter_results = rej_kernel.one_step( - rej_inner_weighted_particles, rej_filter_results, seed=seed - ) + rej_inner_weighted_particles, rej_filter_results = \ + rej_kernel.one_step( + rej_inner_weighted_particles, rej_filter_results, seed=seed + ) rej_parameters_weights += rej_inner_weighted_particles.log_weights - rej_params_log_weights = rej_params_log_weights + rej_filter_results.incremental_log_marginal_likelihood - return i + 1, rej_inner_weighted_particles, rej_filter_results, rej_parameters_weights, rej_params_log_weights - - i, rej_inner_weighted_particles, rej_filter_results, rej_inner_particles_weights, rej_params_log_weights = tf.while_loop( + rej_params_log_weights = \ + rej_params_log_weights + \ + rej_filter_results.incremental_log_marginal_likelihood + return i + 1, \ + rej_inner_weighted_particles, \ + rej_filter_results, \ + rej_parameters_weights, \ + rej_params_log_weights + + _, \ + rej_inner_weighted_particles, \ + rej_filter_results, \ + rej_inner_particles_weights, \ + rej_params_log_weights = tf.while_loop( condition, body, loop_vars=[0, @@ -754,19 +791,27 @@ def body(i, log_a = rej_filter_results.accumulated_log_marginal_likelihood - \ filter_results.accumulated_log_marginal_likelihood + \ - parameter_proposal_kernel(proposed_parameters).log_prob(outside_parameters) - \ - parameter_proposal_kernel(outside_parameters).log_prob(proposed_parameters) + parameter_proposal_kernel( + proposed_parameters).log_prob(outside_parameters) - \ + parameter_proposal_kernel( + outside_parameters).log_prob(proposed_parameters) acceptance_probs = tf.minimum(1., tf.exp(log_a)) - random_numbers = uniform.Uniform(0., 1.).sample(num_outer_particles, seed=seed) + random_numbers = uniform.Uniform(0., 1.).sample(num_outer_particles, + seed=seed) # Determine if the proposed particle should be accepted or reject accept = random_numbers > acceptance_probs - # Update the chosen particles and filter restults based on the acceptance step - outside_parameters = tf.where(accept, outside_parameters, proposed_parameters) - updated_log_weights = tf.where(accept, updated_log_weights, rej_params_log_weights) + # Update the chosen particles and filter restults + # based on the acceptance step + outside_parameters = tf.where(accept, + outside_parameters, + proposed_parameters) + updated_log_weights = tf.where(accept, + updated_log_weights, + rej_params_log_weights) inner_weighted_particles_particles = mcmc_util.choose( accept, @@ -786,17 +831,29 @@ def body(i, ) filter_results = tf.nest.map_structure( - lambda a, b: where_fn(accept, a, b, num_outer_particles, num_inner_particles), + lambda a, b: where_fn(accept, a, b, + num_outer_particles, + num_inner_particles), filter_results, rej_filter_results ) - return outside_parameters, updated_log_weights, inner_weighted_particles, filter_results + return outside_parameters, updated_log_weights, \ + inner_weighted_particles, filter_results - outside_parameters, updated_log_weights, inner_weighted_particles, filter_results = tf.cond( + outside_parameters, \ + updated_log_weights, \ + inner_weighted_particles, \ + filter_results = tf.cond( do_rejuvenation, - lambda: (rejuvenate_particles(outside_parameters, updated_log_weights, inner_weighted_particles, filter_results)), - lambda: (outside_parameters, updated_log_weights, inner_weighted_particles, filter_results) + lambda: (rejuvenate_particles(outside_parameters, + updated_log_weights, + inner_weighted_particles, + filter_results)), + lambda: (outside_parameters, + updated_log_weights, + inner_weighted_particles, + filter_results) ) return smc_kernel.WeightedParticles( @@ -1066,7 +1123,7 @@ def _compute_observation_log_weights(step, lambda x, step=step: tf.gather(x, observation_idx), observations) if particles_dim == 1: - observation = tf.expand_dims(observation, axis=0) + observation = tf.expand_dims(observation, axis=0) observation = tf.nest.map_structure( lambda x: tf.expand_dims(x, axis=particles_dim), observation) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index e190c76bda..dc6a152e4b 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -615,8 +615,11 @@ def marginal_log_likelihood(level_scale, noise_scale): def test_smc_squared_rejuvenation_parameters(self): def particle_dynamics(params, _, previous_state): - reshaped_params = tf.reshape(params, [params.shape[0]] + [1] * (previous_state.shape.rank - 1)) - broadcasted_params = tf.broadcast_to(reshaped_params, previous_state.shape) + reshaped_params = tf.reshape(params, + [params.shape[0]] + + [1] * (previous_state.shape.rank - 1)) + broadcasted_params = tf.broadcast_to(reshaped_params, + previous_state.shape) return normal.Normal(previous_state + broadcasted_params + 1, 0.1) def rejuvenation_criterion(step, state): @@ -625,7 +628,8 @@ def rejuvenation_criterion(step, state): tf.equal(tf.math.mod(step, tf.constant(2)), tf.constant(0)), tf.not_equal(state.extra[0], tf.constant(0)) ) - return tf.cond(cond, lambda: tf.constant(True), lambda: tf.constant(False)) + return tf.cond(cond, lambda: tf.constant(True), + lambda: tf.constant(False)) inner_observations = tf.range(30, dtype=tf.float32) @@ -637,7 +641,8 @@ def rejuvenation_criterion(step, state): params, inner_pt = self.evaluate(particle_filter.smc_squared( inner_observations=inner_observations, - inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( + inner_initial_state_prior=lambda _, params: + mvn_diag.MultivariateNormalDiag( loc=loc, scale_diag=scale_diag ), initial_parameter_prior=normal.Normal(3., 1.), @@ -645,7 +650,9 @@ def rejuvenation_criterion(step, state): num_inner_particles=num_inner_particles, outer_rejuvenation_criterion_fn=rejuvenation_criterion, inner_transition_fn=lambda params: ( - lambda _, state: independent.Independent(particle_dynamics(params, _, state), 1)), + lambda _, state: independent.Independent( + particle_dynamics(params, _, state), 1) + ), inner_observation_fn=lambda params: ( lambda _, state: independent.Independent(normal.Normal(state, 2.), 1)), outer_trace_fn=lambda s, r: ( @@ -693,7 +700,8 @@ def observe_position(_, state): inner_initial_state_prior=lambda _, params: initial_state_prior, initial_parameter_prior=deterministic.Deterministic(0.), num_outer_particles=1, - inner_transition_fn=lambda params: simple_harmonic_motion_transition_fn, + inner_transition_fn=lambda params: + simple_harmonic_motion_transition_fn, inner_observation_fn=lambda params: observe_position, num_inner_particles=1024, outer_trace_fn=lambda s, r: ( @@ -704,7 +712,9 @@ def observe_position(_, state): seed=test_util.test_seed()) ) - self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, 1, 1024])) + self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, + 1, + 1024])) self.assertAllClose(tf.transpose(np.mean(particles['position'], axis=-1)), tf.reshape(tf.math.cos(dt * np.arange(102)), [1, -1]), @@ -733,8 +743,10 @@ def trace_fn(state, _): inner_observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), inner_initial_state_prior=lambda _, params: normal.Normal([0.], 1.), initial_parameter_prior=deterministic.Deterministic(0.), - inner_transition_fn=lambda params: (lambda _, state: normal.Normal(state, 1.)), - inner_observation_fn=lambda params: (lambda _, state: normal.Normal(state, 1.)), + inner_transition_fn=lambda params: (lambda _, state: + normal.Normal(state, 1.)), + inner_observation_fn=lambda params: (lambda _, state: + normal.Normal(state, 1.)), num_inner_particles=1024, num_outer_particles=1, outer_trace_fn=trace_fn, @@ -766,15 +778,21 @@ def rejuvenation_criterion(step, state): tf.equal(tf.math.mod(step, tf.constant(3)), tf.constant(0)), tf.not_equal(state.extra[0], tf.constant(0)) ) - return tf.cond(cond, lambda: tf.constant(True), lambda: tf.constant(False)) + return tf.cond(cond, lambda: tf.constant(True), + lambda: tf.constant(False)) - (parameters, weight_parameters, inner_particles, inner_log_weights, lp) = self.evaluate( + (parameters, weight_parameters, + inner_particles, inner_log_weights, lp) = self.evaluate( particle_filter.smc_squared( inner_observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), initial_parameter_prior=deterministic.Deterministic(0.), - inner_initial_state_prior=lambda _, params: normal.Normal([0.] * num_outer_particles, 1.), - inner_transition_fn=lambda params: (lambda _, state: normal.Normal(state, 10.)), - inner_observation_fn=lambda params: (lambda _, state: normal.Normal(state, 0.1)), + inner_initial_state_prior=lambda _, params: normal.Normal( + [0.] * num_outer_particles, 1. + ), + inner_transition_fn=lambda params: + (lambda _, state: normal.Normal(state, 10.)), + inner_observation_fn=lambda params: + (lambda _, state: normal.Normal(state, 0.1)), num_inner_particles=num_inner_particles, num_outer_particles=num_outer_particles, outer_rejuvenation_criterion_fn=rejuvenation_criterion, From 930cba828446d8f22bb7578090d9495f60dbefcf Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 7 Jan 2024 10:09:23 +0100 Subject: [PATCH 04/24] All pass, but batch_1 test --- .../experimental/mcmc/particle_filter.py | 4 +- .../experimental/mcmc/particle_filter_test.py | 122 ++++++++++++++++++ .../mcmc/sequential_monte_carlo_kernel.py | 3 + .../sequential_monte_carlo_kernel_test.py | 12 +- 4 files changed, 131 insertions(+), 10 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 2af7a68999..693c3eb64c 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -985,7 +985,7 @@ def _particle_filter_initial_weighted_particles(observations, initial_state_proposal, num_particles, particles_dim=0, - extra=np.nan, + extra=(), seed=None): """Initialize a set of weighted particles including the first observation.""" # Propose an initial state. @@ -1011,7 +1011,7 @@ def _particle_filter_initial_weighted_particles(observations, axis=particles_dim) # Return particles weighted by the initial observation. - if extra is np.nan: + if extra == (): if len(ps.shape(initial_log_weights)) == 1: # initial extra for particle filter extra = tf.constant(0) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index dc6a152e4b..476410f569 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -177,6 +177,128 @@ def observation_fn(_, state): trajectories['velocity'].shape) self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) + # + # def test_batch_of_filters_particles_dim_1(self): + # + # batch_shape = [3, 2] + # num_particles = 1000 + # num_timesteps = 40 + # + # # Batch of priors on object 1D positions and velocities. + # initial_state_prior = jdn.JointDistributionNamed({ + # 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), + # 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) + # }) + # + # def transition_fn(_, previous_state): + # return jdn.JointDistributionNamed({ + # 'position': + # normal.Normal( + # loc=previous_state['position'] + previous_state['velocity'], + # scale=0.1), + # 'velocity': + # normal.Normal(loc=previous_state['velocity'], scale=0.01) + # }) + # + # def observation_fn(_, state): + # return normal.Normal(loc=state['position'], scale=0.1) + # + # # Batch of synthetic observations, . + # true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) + # true_velocities = 0.1 * np.random.randn( + # *batch_shape).astype(self.dtype) + # observed_positions = ( + # true_velocities * + # np.arange(num_timesteps).astype( + # self.dtype)[..., tf.newaxis, tf.newaxis] + + # true_initial_positions) + # + # (particles, log_weights, parent_indices, + # incremental_log_marginal_likelihoods) = self.evaluate( + # particle_filter.particle_filter( + # observations=observed_positions, + # initial_state_prior=initial_state_prior, + # transition_fn=transition_fn, + # observation_fn=observation_fn, + # num_particles=num_particles, + # seed=test_util.test_seed(), + # particles_dim=1)) + # + # self.assertAllEqual(particles['position'].shape, + # [num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]]) + # self.assertAllEqual(particles['velocity'].shape, + # [num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]]) + # self.assertAllEqual(parent_indices.shape, + # [num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]]) + # self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + # [num_timesteps] + batch_shape) + # + # self.assertAllClose( + # self.evaluate( + # tf.reduce_sum(tf.exp(log_weights) * + # particles['position'], axis=2)), + # observed_positions, + # atol=0.3) + # + # velocity_means = tf.reduce_sum(tf.exp(log_weights) * + # particles['velocity'], axis=2) + # + # self.assertAllClose( + # self.evaluate(tf.reduce_mean(velocity_means, axis=0)), + # true_velocities, atol=0.05) + # + # # Uncertainty in velocity should decrease over time. + # velocity_stddev = self.evaluate( + # tf.math.reduce_std(particles['velocity'], axis=2)) + # self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) + # + # trajectories = self.evaluate( + # particle_filter.reconstruct_trajectories(particles, + # parent_indices, + # particles_dim=1)) + # self.assertAllEqual([num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]], + # trajectories['position'].shape) + # self.assertAllEqual([num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]], + # trajectories['velocity'].shape) + # + # # Verify that `infer_trajectories` also works on batches. + # trajectories, incremental_log_marginal_likelihoods = self.evaluate( + # particle_filter.infer_trajectories( + # observations=observed_positions, + # initial_state_prior=initial_state_prior, + # transition_fn=transition_fn, + # observation_fn=observation_fn, + # num_particles=num_particles, + # particles_dim=1, + # seed=test_util.test_seed())) + # + # self.assertAllEqual([num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]], + # trajectories['position'].shape) + # self.assertAllEqual([num_timesteps, + # batch_shape[0], + # num_particles, + # batch_shape[1]], + # trajectories['velocity'].shape) + # self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + # [num_timesteps] + batch_shape) def test_reconstruct_trajectories_toy_example(self): particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) diff --git a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py index 300418c87d..36ef979a52 100644 --- a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py +++ b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel.py @@ -54,11 +54,14 @@ class WeightedParticles(collections.namedtuple( `concat([[b1, ..., bN], event_shape])`, where `event_shape` may differ across component `Tensor`s. This represents global state of the sampling process that is not associated with individual particles. + Defaults to an empty tuple. 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`. """ + def __new__(cls, particles, log_weights, extra=()): + return super().__new__(cls, particles, log_weights, extra) # SequentialMonteCarlo `kernel_results` structure. diff --git a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py index 2e29f6c4dd..098769f36a 100644 --- a/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py +++ b/tensorflow_probability/python/experimental/mcmc/sequential_monte_carlo_kernel_test.py @@ -42,8 +42,7 @@ def propose_and_update_log_weights_fn(_, weighted_particles, seed=None): return WeightedParticles( particles=proposed_particles, log_weights=weighted_particles.log_weights + - normal.Normal(loc=-2.6, scale=0.1).log_prob(proposed_particles), - extra=tf.constant(np.nan) + normal.Normal(loc=-2.6, scale=0.1).log_prob(proposed_particles) ) num_particles = 16 @@ -52,8 +51,7 @@ def propose_and_update_log_weights_fn(_, weighted_particles, seed=None): particles=tf.random.normal([num_particles], seed=test_util.test_seed()), log_weights=tf.fill([num_particles], - -tf.math.log(float(num_particles))), - extra=tf.constant(np.nan) + -tf.math.log(float(num_particles))) )) # Run a couple of steps. @@ -100,8 +98,7 @@ def testMarginalLikelihoodGradientIsDefined(self): WeightedParticles( particles=samplers.normal([num_particles], seed=seeds[0]), log_weights=tf.fill([num_particles], - -tf.math.log(float(num_particles))), - extra=tf.constant(np.nan) + -tf.math.log(float(num_particles))) )) def propose_and_update_log_weights_fn(_, @@ -116,8 +113,7 @@ def propose_and_update_log_weights_fn(_, particles=proposed_particles, log_weights=(weighted_particles.log_weights + transition_dist.log_prob(proposed_particles) - - proposal_dist.log_prob(proposed_particles)), - extra=tf.constant(np.nan) + proposal_dist.log_prob(proposed_particles)) ) def marginal_logprob(transition_scale): From 249852bbd2e44a46eff6325b6c80a0dc968133c6 Mon Sep 17 00:00:00 2001 From: slamitza Date: Mon, 8 Jan 2024 16:35:21 +0100 Subject: [PATCH 05/24] removed extra from inner pf in smc2 and pf --- .../experimental/mcmc/particle_filter.py | 20 ++++--------------- .../experimental/mcmc/particle_filter_test.py | 18 ----------------- 2 files changed, 4 insertions(+), 34 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 693c3eb64c..d1f2a18fdb 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -653,8 +653,7 @@ def _outer_propose_and_update_log_weights_fn(step, state, seed=None): if inner_proposal_fn is not None else None), observation_fn=inner_observation_fn(outside_parameters), particles_dim=1, - num_transitions_per_observation=num_transitions_per_observation, - extra_fn=extra_fn + num_transitions_per_observation=num_transitions_per_observation ) ) @@ -731,7 +730,6 @@ def rejuvenate_particles(outside_parameters, proposal_fn=(inner_proposal_fn(proposed_parameters) if inner_proposal_fn is not None else None), observation_fn=inner_observation_fn(proposed_parameters), - extra_fn=extra_fn, particles_dim=1, num_transitions_per_observation= num_transitions_per_observation) @@ -875,7 +873,6 @@ def particle_filter(observations, transition_fn, observation_fn, num_particles, - extra_fn=_default_extra_fn, initial_state_proposal=None, proposal_fn=None, resample_fn=weighted_resampling.resample_systematic, @@ -960,8 +957,7 @@ def particle_filter(observations, particles_dim=particles_dim, proposal_fn=proposal_fn, observation_fn=observation_fn, - num_transitions_per_observation=num_transitions_per_observation, - extra_fn=extra_fn + num_transitions_per_observation=num_transitions_per_observation )) return sequential_monte_carlo( @@ -1010,15 +1006,12 @@ def _particle_filter_initial_weighted_particles(observations, initial_log_weights = tf.nn.log_softmax(initial_log_weights, axis=particles_dim) - # Return particles weighted by the initial observation. if extra == (): if len(ps.shape(initial_log_weights)) == 1: # initial extra for particle filter extra = tf.constant(0) - else: - # initial extra for inner particles of smc_squared - extra = tf.constant(0, shape=ps.shape(initial_log_weights)) + # Return particles weighted by the initial observation. return smc_kernel.WeightedParticles( particles=initial_state, log_weights=initial_log_weights + _compute_observation_log_weights( @@ -1035,7 +1028,6 @@ def _particle_filter_propose_and_update_log_weights_fn( transition_fn, proposal_fn, observation_fn, - extra_fn, num_transitions_per_observation=1, particles_dim=0): """Build a function specifying a particle filter update step.""" @@ -1066,10 +1058,6 @@ def propose_and_update_log_weights_fn(step, state, seed=None): else: proposed_particles = transition_dist.sample(seed=seed) - updated_extra = extra_fn(step, - state, - seed) - with tf.control_dependencies(assertions): return smc_kernel.WeightedParticles( particles=proposed_particles, @@ -1077,7 +1065,7 @@ def propose_and_update_log_weights_fn(step, state, seed=None): step + 1, proposed_particles, observations, observation_fn, num_transitions_per_observation=num_transitions_per_observation, particles_dim=particles_dim), - extra=updated_extra) + extra=state.extra) return propose_and_update_log_weights_fn diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 476410f569..a5b821b214 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -934,24 +934,6 @@ def rejuvenation_criterion(step, state): self.assertAllEqual(ps.shape(inner_log_weights), [6, 7, 13]) self.assertAllEqual(ps.shape(lp), [6]) - def test_extra(self): - def step_hundred(step, state, seed): - return step * 2 - - results = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 1.), - observation_fn=lambda _, state: normal.Normal(state, 1.), - num_particles=1024, - extra_fn=step_hundred, - trace_fn=lambda s, r: s.extra, - seed=test_util.test_seed()) - ) - - self.assertAllEqual(results, [0, 0, 2, 4, 6]) - # TODO(b/186068104): add tests with dynamic shapes. class ParticleFilterTestFloat32(_ParticleFilterTest): From a8640ad1fac2a87a261987f5cc2fcbe6cf98a6da Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 9 Jan 2024 10:46:42 +0100 Subject: [PATCH 06/24] more fixes --- .../experimental/mcmc/particle_filter.py | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index d1f2a18fdb..63945451a3 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -498,7 +498,7 @@ def smc_squared( unbiased_gradients=True, seed=None, ): - _1, loop_seed, _2 = samplers.split_seed(seed, n=3, salt='smc_squared') + params_seed, particles_seed, smc_seed = samplers.split_seed(seed, n=3, salt='smc_squared') num_observation_steps = ps.size0(tf.nest.flatten(inner_observations)[0]) @@ -525,12 +525,12 @@ def smc_squared( if initial_parameter_proposal is None: initial_state = initial_parameter_prior.sample(num_outer_particles, - seed=seed) + seed=params_seed) initial_log_weights = ps.zeros_like( initial_parameter_prior.log_prob(initial_state)) else: initial_state = initial_parameter_proposal.sample(num_outer_particles, - seed=seed) + seed=params_seed) initial_log_weights = ( initial_parameter_prior.log_prob(initial_state) - initial_parameter_proposal.log_prob(initial_state) @@ -549,7 +549,7 @@ def smc_squared( else None), num_particles=num_inner_particles, particles_dim=1, - seed=seed + seed=particles_seed ) init_state = smc_kernel.WeightedParticles(*inner_weighted_particles) @@ -590,8 +590,7 @@ def smc_squared( inner_initial_state_prior=inner_initial_state_prior, inner_initial_state_proposal=inner_initial_state_proposal, num_inner_particles=num_inner_particles, - num_outer_particles=num_outer_particles, - extra_fn=extra_fn + num_outer_particles=num_outer_particles ) ) @@ -608,7 +607,7 @@ def smc_squared( num_steps=num_timesteps, particles_dim=0, trace_fn=outer_trace_fn, - seed=loop_seed + seed=smc_seed ) return traced_results @@ -629,20 +628,24 @@ def _outer_particle_filter_propose_and_update_log_weights_fn( unbiased_gradients, parameter_proposal_kernel, num_inner_particles, - num_outer_particles, - extra_fn + num_outer_particles ): """Build a function specifying a particle filter update step.""" def _outer_propose_and_update_log_weights_fn(step, state, seed=None): outside_parameters = state.particles[0] - inner_weighted_particles, log_weights = state.particles[1], \ - state.log_weights + (params, + inner_particles, + inner_parent_indices, + inner_incremental_likelihood, + inner_accumulated_likelihood + ) = state.particles + log_weights = state.log_weights filter_results = smc_kernel.SequentialMonteCarloResults( steps=step, - parent_indices=state.particles[2], - incremental_log_marginal_likelihood=state.particles[3], - accumulated_log_marginal_likelihood=state.particles[4], + parent_indices=inner_parent_indices, + incremental_log_marginal_likelihood=inner_incremental_likelihood, + accumulated_log_marginal_likelihood=inner_accumulated_likelihood, seed=state.extra[1]) inner_propose_and_update_log_weights_fn = ( @@ -667,7 +670,7 @@ def _outer_propose_and_update_log_weights_fn(step, state, seed=None): ) inner_weighted_particles, filter_results = kernel.one_step( - inner_weighted_particles, + inner_particles, filter_results, seed=seed ) From c22c07f1ea1d24fcbf9dffc2512cd0c58a8dcfc0 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 9 Jan 2024 11:18:16 +0100 Subject: [PATCH 07/24] fixed extra --- .../experimental/mcmc/particle_filter.py | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 63945451a3..830079d98d 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -570,8 +570,7 @@ def smc_squared( initial_filter_results.incremental_log_marginal_likelihood, initial_filter_results.accumulated_log_marginal_likelihood), log_weights=initial_log_weights, - extra=(tf.constant(0), - initial_filter_results.seed) + extra=initial_filter_results.seed ) outer_propose_and_update_log_weights_fn = ( @@ -633,12 +632,13 @@ def _outer_particle_filter_propose_and_update_log_weights_fn( """Build a function specifying a particle filter update step.""" def _outer_propose_and_update_log_weights_fn(step, state, seed=None): outside_parameters = state.particles[0] - (params, - inner_particles, - inner_parent_indices, - inner_incremental_likelihood, - inner_accumulated_likelihood - ) = state.particles + ( + params, + inner_particles, + inner_parent_indices, + inner_incremental_likelihood, + inner_accumulated_likelihood + ) = state.particles log_weights = state.log_weights filter_results = smc_kernel.SequentialMonteCarloResults( @@ -646,7 +646,7 @@ def _outer_propose_and_update_log_weights_fn(step, state, seed=None): parent_indices=inner_parent_indices, incremental_log_marginal_likelihood=inner_incremental_likelihood, accumulated_log_marginal_likelihood=inner_accumulated_likelihood, - seed=state.extra[1]) + seed=state.extra) inner_propose_and_update_log_weights_fn = ( _particle_filter_propose_and_update_log_weights_fn( @@ -675,8 +675,9 @@ def _outer_propose_and_update_log_weights_fn(step, state, seed=None): seed=seed ) - updated_log_weights = log_weights + \ - filter_results.incremental_log_marginal_likelihood + updated_log_weights = ( + log_weights + filter_results.incremental_log_marginal_likelihood + ) do_rejuvenation = outer_rejuvenation_criterion_fn(step, state) @@ -864,8 +865,8 @@ def body(i, filter_results.incremental_log_marginal_likelihood, filter_results.accumulated_log_marginal_likelihood), log_weights=updated_log_weights, - extra=(step, - filter_results.seed)) + extra=filter_results.seed + ) return _outer_propose_and_update_log_weights_fn From 31e8d3120b5b5d460a9f688fb71fd909a8b2282d Mon Sep 17 00:00:00 2001 From: slamitza Date: Wed, 10 Jan 2024 16:26:38 +0100 Subject: [PATCH 08/24] smc2 fixes --- .../experimental/mcmc/particle_filter.py | 569 +++++++++--------- .../experimental/mcmc/particle_filter_test.py | 244 ++++---- 2 files changed, 398 insertions(+), 415 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 830079d98d..ca3c8df1ac 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -54,33 +54,6 @@ def _default_kernel(parameters): return proposal_distribution -def _default_extra_fn(step, - state, - seed - ): - return state.extra - - -def where_fn(accept, a, b, num_outer_particles, num_inner_particles): - is_scalar = tf.rank(a) == tf.constant(0) - is_nan = tf.math.is_nan(tf.cast(a, tf.float32)) - is_all_nan = tf.reduce_all(is_nan) - if is_scalar and is_all_nan: - return a - elif a.shape == 2 and b.shape == 2: - # extra - return a - elif a.shape == num_outer_particles and b.shape == num_outer_particles: - return mcmc_util.choose(accept, a, b) - elif a.shape == [num_outer_particles, num_inner_particles] and \ - b.shape == [num_outer_particles, num_inner_particles]: - return mcmc_util.choose(accept, a, b) - elif a.shape == () and b.shape == (): - return a - else: - raise ValueError("Unexpected tensor shapes") - - particle_filter_arg_str = """\ Each latent state is a `Tensor` or nested structure of `Tensor`s, as defined by the `initial_state_prior`. @@ -473,30 +446,29 @@ def seeded_one_step(seed_state_results, _): def smc_squared( - inner_observations, - initial_parameter_prior, - num_outer_particles, - inner_initial_state_prior, - inner_transition_fn, - inner_observation_fn, - num_inner_particles, - outer_trace_fn=_default_trace_fn, - outer_rejuvenation_criterion_fn=None, - outer_resample_criterion_fn=None, - outer_resample_fn=weighted_resampling.resample_systematic, - inner_resample_criterion_fn=smc_kernel.ess_below_threshold, - inner_resample_fn=weighted_resampling.resample_systematic, - extra_fn=_default_extra_fn, - parameter_proposal_kernel=_default_kernel, - inner_proposal_fn=None, - inner_initial_state_proposal=None, - outer_trace_criterion_fn=_always_trace, - parallel_iterations=1, - num_transitions_per_observation=1, - static_trace_allocation_size=None, - initial_parameter_proposal=None, - unbiased_gradients=True, - seed=None, + inner_observations, + initial_parameter_prior, + num_outer_particles, + inner_initial_state_prior, + inner_transition_fn, + inner_observation_fn, + num_inner_particles, + outer_trace_fn=_default_trace_fn, + outer_rejuvenation_criterion_fn=None, + outer_resample_criterion_fn=None, + outer_resample_fn=weighted_resampling.resample_systematic, + inner_resample_criterion_fn=smc_kernel.ess_below_threshold, + inner_resample_fn=weighted_resampling.resample_systematic, + parameter_proposal_kernel=_default_kernel, + inner_proposal_fn=None, + inner_initial_state_proposal=None, + outer_trace_criterion_fn=_always_trace, + parallel_iterations=1, + num_transitions_per_observation=1, + static_trace_allocation_size=None, + initial_parameter_proposal=None, + unbiased_gradients=True, + seed=None, ): params_seed, particles_seed, smc_seed = samplers.split_seed(seed, n=3, salt='smc_squared') @@ -512,29 +484,29 @@ def smc_squared( axis=0) if outer_rejuvenation_criterion_fn is None: - outer_rejuvenation_criterion_fn = lambda *_: tf.constant(False) + outer_rejuvenation_criterion_fn = lambda *_: tf.constant(False) if outer_resample_criterion_fn is None: - outer_resample_criterion_fn = lambda *_: tf.constant(False) + outer_resample_criterion_fn = lambda *_: tf.constant(False) # If trace criterion is `None`, we'll return only the final results. never_trace = lambda *_: False if outer_trace_criterion_fn is None: - static_trace_allocation_size = 0 - outer_trace_criterion_fn = never_trace + static_trace_allocation_size = 0 + outer_trace_criterion_fn = never_trace if initial_parameter_proposal is None: - initial_state = initial_parameter_prior.sample(num_outer_particles, - seed=params_seed) - initial_log_weights = ps.zeros_like( - initial_parameter_prior.log_prob(initial_state)) + initial_state = initial_parameter_prior.sample(num_outer_particles, + seed=params_seed) + initial_log_weights = ps.zeros_like( + initial_parameter_prior.log_prob(initial_state)) else: - initial_state = initial_parameter_proposal.sample(num_outer_particles, - seed=params_seed) - initial_log_weights = ( - initial_parameter_prior.log_prob(initial_state) - - initial_parameter_proposal.log_prob(initial_state) - ) + initial_state = initial_parameter_proposal.sample(num_outer_particles, + seed=params_seed) + initial_log_weights = ( + initial_parameter_prior.log_prob(initial_state) - + initial_parameter_proposal.log_prob(initial_state) + ) # Normalize the initial weights. If we used a proposal, the weights are # normalized in expectation, but actually normalizing them reduces variance. @@ -613,260 +585,271 @@ def smc_squared( def _outer_particle_filter_propose_and_update_log_weights_fn( - inner_observations, - inner_transition_fn, - inner_proposal_fn, - inner_observation_fn, - initial_parameter_prior, - inner_initial_state_prior, - inner_initial_state_proposal, - num_transitions_per_observation, - inner_resample_fn, - inner_resample_criterion_fn, - outer_rejuvenation_criterion_fn, - unbiased_gradients, - parameter_proposal_kernel, - num_inner_particles, - num_outer_particles + inner_observations, + inner_transition_fn, + inner_proposal_fn, + inner_observation_fn, + initial_parameter_prior, + inner_initial_state_prior, + inner_initial_state_proposal, + num_transitions_per_observation, + inner_resample_fn, + inner_resample_criterion_fn, + outer_rejuvenation_criterion_fn, + unbiased_gradients, + parameter_proposal_kernel, + num_inner_particles, + num_outer_particles ): """Build a function specifying a particle filter update step.""" def _outer_propose_and_update_log_weights_fn(step, state, seed=None): - outside_parameters = state.particles[0] - ( - params, - inner_particles, - inner_parent_indices, - inner_incremental_likelihood, - inner_accumulated_likelihood - ) = state.particles - log_weights = state.log_weights + outside_parameters = state.particles[0] + ( + params, + inner_particles, + inner_parent_indices, + inner_incremental_likelihood, + inner_accumulated_likelihood + ) = state.particles + log_weights = state.log_weights + + filter_results = smc_kernel.SequentialMonteCarloResults( + steps=step, + parent_indices=inner_parent_indices, + incremental_log_marginal_likelihood=inner_incremental_likelihood, + accumulated_log_marginal_likelihood=inner_accumulated_likelihood, + seed=state.extra) + + inner_propose_and_update_log_weights_fn = ( + _particle_filter_propose_and_update_log_weights_fn( + observations=inner_observations, + transition_fn=inner_transition_fn(outside_parameters), + proposal_fn=(inner_proposal_fn(outside_parameters) + if inner_proposal_fn is not None else None), + observation_fn=inner_observation_fn(outside_parameters), + particles_dim=1, + num_transitions_per_observation=num_transitions_per_observation + ) + ) - filter_results = smc_kernel.SequentialMonteCarloResults( - steps=step, - parent_indices=inner_parent_indices, - incremental_log_marginal_likelihood=inner_incremental_likelihood, - accumulated_log_marginal_likelihood=inner_accumulated_likelihood, - seed=state.extra) + kernel = smc_kernel.SequentialMonteCarlo( + propose_and_update_log_weights_fn= + inner_propose_and_update_log_weights_fn, + resample_fn=inner_resample_fn, + resample_criterion_fn=inner_resample_criterion_fn, + particles_dim=1, + unbiased_gradients=unbiased_gradients + ) + + inner_weighted_particles, filter_results = kernel.one_step( + inner_particles, + filter_results, + seed=seed + ) + + updated_log_weights = ( + log_weights + filter_results.incremental_log_marginal_likelihood + ) + + do_rejuvenation = outer_rejuvenation_criterion_fn(step, state) + + def rejuvenate_particles(outside_parameters, + updated_log_weights, + inner_weighted_particles, + filter_results): + proposed_parameters = parameter_proposal_kernel( + outside_parameters + ).sample(seed=seed) + + rej_params_log_weights = ps.zeros_like( + initial_parameter_prior.log_prob(proposed_parameters) + ) + rej_params_log_weights = tf.nn.log_softmax( + rej_params_log_weights, + axis=0 + ) + + rej_inner_weighted_particles = \ + _particle_filter_initial_weighted_particles( + observations=inner_observations, + observation_fn=inner_observation_fn(proposed_parameters), + initial_state_prior=inner_initial_state_prior( + 0, + proposed_parameters + ), + initial_state_proposal=( + inner_initial_state_proposal(0, proposed_parameters) + if inner_initial_state_proposal is not None + else None), + num_particles=num_inner_particles, + particles_dim=1, + seed=seed + ) - inner_propose_and_update_log_weights_fn = ( + batch_zeros = tf.zeros(ps.shape(log_weights)) + + rej_filter_results = smc_kernel.SequentialMonteCarloResults( + steps=tf.constant(0, dtype=tf.int32), + parent_indices=smc_kernel._dummy_indices_like( + rej_inner_weighted_particles.log_weights + ), + incremental_log_marginal_likelihood=batch_zeros, + accumulated_log_marginal_likelihood=batch_zeros, + seed=samplers.zeros_seed() + ) + + rej_inner_particles_weights = rej_inner_weighted_particles.log_weights + + rej_inner_propose_and_update_log_weights_fn = ( _particle_filter_propose_and_update_log_weights_fn( observations=inner_observations, - transition_fn=inner_transition_fn(outside_parameters), - proposal_fn=(inner_proposal_fn(outside_parameters) - if inner_proposal_fn is not None else None), - observation_fn=inner_observation_fn(outside_parameters), + transition_fn=inner_transition_fn(proposed_parameters), + proposal_fn=(inner_proposal_fn(proposed_parameters) + if inner_proposal_fn is not None else None), + observation_fn=inner_observation_fn(proposed_parameters), particles_dim=1, - num_transitions_per_observation=num_transitions_per_observation - ) + num_transitions_per_observation= + num_transitions_per_observation) ) - kernel = smc_kernel.SequentialMonteCarlo( + rej_kernel = smc_kernel.SequentialMonteCarlo( propose_and_update_log_weights_fn= - inner_propose_and_update_log_weights_fn, + rej_inner_propose_and_update_log_weights_fn, resample_fn=inner_resample_fn, resample_criterion_fn=inner_resample_criterion_fn, particles_dim=1, unbiased_gradients=unbiased_gradients ) - inner_weighted_particles, filter_results = kernel.one_step( - inner_particles, - filter_results, - seed=seed - ) - - updated_log_weights = ( - log_weights + filter_results.incremental_log_marginal_likelihood - ) - - do_rejuvenation = outer_rejuvenation_criterion_fn(step, state) - - def rejuvenate_particles(outside_parameters, - updated_log_weights, - inner_weighted_particles, - filter_results): - proposed_parameters = parameter_proposal_kernel( - outside_parameters - ).sample(seed=seed) - - rej_params_log_weights = ps.zeros_like( - initial_parameter_prior.log_prob(proposed_parameters) - ) - rej_params_log_weights = tf.nn.log_softmax( - rej_params_log_weights, - axis=0 - ) - - rej_inner_weighted_particles = \ - _particle_filter_initial_weighted_particles( - observations=inner_observations, - observation_fn=inner_observation_fn(proposed_parameters), - initial_state_prior=inner_initial_state_prior( - 0, - proposed_parameters - ), - initial_state_proposal=( - inner_initial_state_proposal(0, proposed_parameters) - if inner_initial_state_proposal is not None - else None), - num_particles=num_inner_particles, - particles_dim=1, - seed=seed + def condition(i, + rej_inner_weighted_particles, + rej_filter_results, + rej_parameters_weights, + rej_params_log_weights): + return tf.less_equal(i, step) + + def body(i, + rej_inner_weighted_particles, + rej_filter_results, + rej_parameters_weights, + rej_params_log_weights + ): + + rej_inner_weighted_particles, rej_filter_results = \ + rej_kernel.one_step( + rej_inner_weighted_particles, rej_filter_results, seed=seed ) - batch_zeros = tf.zeros(ps.shape(log_weights)) - - rej_filter_results = smc_kernel.SequentialMonteCarloResults( - steps=tf.constant(0, dtype=tf.int32), - parent_indices=smc_kernel._dummy_indices_like( - rej_inner_weighted_particles.log_weights - ), - incremental_log_marginal_likelihood=batch_zeros, - accumulated_log_marginal_likelihood=batch_zeros, - seed=samplers.zeros_seed()) - - rej_inner_particles_weights = rej_inner_weighted_particles.log_weights + rej_parameters_weights += rej_inner_weighted_particles.log_weights + + rej_params_log_weights = \ + rej_params_log_weights + \ + rej_filter_results.incremental_log_marginal_likelihood + return i + 1, \ + rej_inner_weighted_particles, \ + rej_filter_results, \ + rej_parameters_weights, \ + rej_params_log_weights + + _, \ + rej_inner_weighted_particles, \ + rej_filter_results, \ + rej_inner_particles_weights, \ + rej_params_log_weights = tf.while_loop( + condition, + body, + loop_vars=[0, + rej_inner_weighted_particles, + rej_filter_results, + rej_inner_particles_weights, + rej_params_log_weights + ] + ) - rej_inner_propose_and_update_log_weights_fn = ( - _particle_filter_propose_and_update_log_weights_fn( - observations=inner_observations, - transition_fn=inner_transition_fn(proposed_parameters), - proposal_fn=(inner_proposal_fn(proposed_parameters) - if inner_proposal_fn is not None else None), - observation_fn=inner_observation_fn(proposed_parameters), - particles_dim=1, - num_transitions_per_observation= - num_transitions_per_observation) - ) + log_a = rej_filter_results.accumulated_log_marginal_likelihood - \ + filter_results.accumulated_log_marginal_likelihood + \ + parameter_proposal_kernel( + proposed_parameters).log_prob(outside_parameters) - \ + parameter_proposal_kernel( + outside_parameters).log_prob(proposed_parameters) + + acceptance_probs = tf.minimum(1., tf.exp(log_a)) + + random_numbers = uniform.Uniform(0., 1.).sample(num_outer_particles, + seed=seed) + + # Determine if the proposed particle should be accepted or reject + accept = random_numbers > acceptance_probs + + # Update the chosen particles and filter restults + # based on the acceptance step + outside_parameters = tf.where(accept, + outside_parameters, + proposed_parameters) + updated_log_weights = tf.where(accept, + updated_log_weights, + rej_params_log_weights) + + inner_weighted_particles_particles = mcmc_util.choose( + accept, + inner_weighted_particles.particles, + rej_inner_weighted_particles.particles + ) + inner_weighted_particles_log_weights = mcmc_util.choose( + accept, + inner_weighted_particles.log_weights, + rej_inner_weighted_particles.log_weights + ) - rej_kernel = smc_kernel.SequentialMonteCarlo( - propose_and_update_log_weights_fn= - rej_inner_propose_and_update_log_weights_fn, - resample_fn=inner_resample_fn, - resample_criterion_fn=inner_resample_criterion_fn, - particles_dim=1, - unbiased_gradients=unbiased_gradients) - - def condition(i, - rej_inner_weighted_particles, - rej_filter_results, - rej_parameters_weights, - rej_params_log_weights): - return tf.less_equal(i, step) - - def body(i, - rej_inner_weighted_particles, - rej_filter_results, - rej_parameters_weights, - rej_params_log_weights): - - rej_inner_weighted_particles, rej_filter_results = \ - rej_kernel.one_step( - rej_inner_weighted_particles, rej_filter_results, seed=seed - ) - - rej_parameters_weights += rej_inner_weighted_particles.log_weights - - rej_params_log_weights = \ - rej_params_log_weights + \ - rej_filter_results.incremental_log_marginal_likelihood - return i + 1, \ - rej_inner_weighted_particles, \ - rej_filter_results, \ - rej_parameters_weights, \ - rej_params_log_weights - - _, \ - rej_inner_weighted_particles, \ - rej_filter_results, \ - rej_inner_particles_weights, \ - rej_params_log_weights = tf.while_loop( - condition, - body, - loop_vars=[0, - rej_inner_weighted_particles, - rej_filter_results, - rej_inner_particles_weights, - rej_params_log_weights - ] - ) + inner_weighted_particles = smc_kernel.WeightedParticles( + particles=inner_weighted_particles_particles, + log_weights=inner_weighted_particles_log_weights, + extra=inner_weighted_particles.extra + ) - log_a = rej_filter_results.accumulated_log_marginal_likelihood - \ - filter_results.accumulated_log_marginal_likelihood + \ - parameter_proposal_kernel( - proposed_parameters).log_prob(outside_parameters) - \ - parameter_proposal_kernel( - outside_parameters).log_prob(proposed_parameters) - - acceptance_probs = tf.minimum(1., tf.exp(log_a)) - - random_numbers = uniform.Uniform(0., 1.).sample(num_outer_particles, - seed=seed) - - # Determine if the proposed particle should be accepted or reject - accept = random_numbers > acceptance_probs - - # Update the chosen particles and filter restults - # based on the acceptance step - outside_parameters = tf.where(accept, - outside_parameters, - proposed_parameters) - updated_log_weights = tf.where(accept, - updated_log_weights, - rej_params_log_weights) - - inner_weighted_particles_particles = mcmc_util.choose( - accept, - inner_weighted_particles.particles, - rej_inner_weighted_particles.particles - ) - inner_weighted_particles_log_weights = mcmc_util.choose( - accept, - inner_weighted_particles.log_weights, - rej_inner_weighted_particles.log_weights - ) + parent_indices, incremental_log_marginal_likelihood, accumulated_log_marginal_likelihood = mcmc_util.choose( + accept, + (filter_results.parent_indices, filter_results.incremental_log_marginal_likelihood, + filter_results.accumulated_log_marginal_likelihood), + (rej_filter_results.parent_indices, rej_filter_results.incremental_log_marginal_likelihood, + rej_filter_results.accumulated_log_marginal_likelihood) + ) - inner_weighted_particles = smc_kernel.WeightedParticles( - particles=inner_weighted_particles_particles, - log_weights=inner_weighted_particles_log_weights, - extra=inner_weighted_particles.extra - ) + filter_results = smc_kernel.SequentialMonteCarloResults( + steps=filter_results.steps, + parent_indices=parent_indices, + incremental_log_marginal_likelihood=incremental_log_marginal_likelihood, + accumulated_log_marginal_likelihood=accumulated_log_marginal_likelihood, + seed=filter_results.seed + ) - filter_results = tf.nest.map_structure( - lambda a, b: where_fn(accept, a, b, - num_outer_particles, - num_inner_particles), - filter_results, - rej_filter_results - ) + return outside_parameters, updated_log_weights, \ + inner_weighted_particles, filter_results + + outside_parameters, \ + updated_log_weights, \ + inner_weighted_particles, \ + filter_results = tf.cond( + do_rejuvenation, + lambda: (rejuvenate_particles(outside_parameters, + updated_log_weights, + inner_weighted_particles, + filter_results)), + lambda: (outside_parameters, + updated_log_weights, + inner_weighted_particles, + filter_results) + ) - return outside_parameters, updated_log_weights, \ - inner_weighted_particles, filter_results - - outside_parameters, \ - updated_log_weights, \ - inner_weighted_particles, \ - filter_results = tf.cond( - do_rejuvenation, - lambda: (rejuvenate_particles(outside_parameters, - updated_log_weights, - inner_weighted_particles, - filter_results)), - lambda: (outside_parameters, - updated_log_weights, + return smc_kernel.WeightedParticles( + particles=(outside_parameters, inner_weighted_particles, - filter_results) - ) - - return smc_kernel.WeightedParticles( - particles=(outside_parameters, - inner_weighted_particles, - filter_results.parent_indices, - filter_results.incremental_log_marginal_likelihood, - filter_results.accumulated_log_marginal_likelihood), - log_weights=updated_log_weights, - extra=filter_results.seed - ) + filter_results.parent_indices, + filter_results.incremental_log_marginal_likelihood, + filter_results.accumulated_log_marginal_likelihood), + log_weights=updated_log_weights, + extra=filter_results.seed + ) return _outer_propose_and_update_log_weights_fn diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index a5b821b214..5c564b489a 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -177,128 +177,128 @@ def observation_fn(_, state): trajectories['velocity'].shape) self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) - # - # def test_batch_of_filters_particles_dim_1(self): - # - # batch_shape = [3, 2] - # num_particles = 1000 - # num_timesteps = 40 - # - # # Batch of priors on object 1D positions and velocities. - # initial_state_prior = jdn.JointDistributionNamed({ - # 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), - # 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) - # }) - # - # def transition_fn(_, previous_state): - # return jdn.JointDistributionNamed({ - # 'position': - # normal.Normal( - # loc=previous_state['position'] + previous_state['velocity'], - # scale=0.1), - # 'velocity': - # normal.Normal(loc=previous_state['velocity'], scale=0.01) - # }) - # - # def observation_fn(_, state): - # return normal.Normal(loc=state['position'], scale=0.1) - # - # # Batch of synthetic observations, . - # true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - # true_velocities = 0.1 * np.random.randn( - # *batch_shape).astype(self.dtype) - # observed_positions = ( - # true_velocities * - # np.arange(num_timesteps).astype( - # self.dtype)[..., tf.newaxis, tf.newaxis] + - # true_initial_positions) - # - # (particles, log_weights, parent_indices, - # incremental_log_marginal_likelihoods) = self.evaluate( - # particle_filter.particle_filter( - # observations=observed_positions, - # initial_state_prior=initial_state_prior, - # transition_fn=transition_fn, - # observation_fn=observation_fn, - # num_particles=num_particles, - # seed=test_util.test_seed(), - # particles_dim=1)) - # - # self.assertAllEqual(particles['position'].shape, - # [num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]]) - # self.assertAllEqual(particles['velocity'].shape, - # [num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]]) - # self.assertAllEqual(parent_indices.shape, - # [num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]]) - # self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - # [num_timesteps] + batch_shape) - # - # self.assertAllClose( - # self.evaluate( - # tf.reduce_sum(tf.exp(log_weights) * - # particles['position'], axis=2)), - # observed_positions, - # atol=0.3) - # - # velocity_means = tf.reduce_sum(tf.exp(log_weights) * - # particles['velocity'], axis=2) - # - # self.assertAllClose( - # self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - # true_velocities, atol=0.05) - # - # # Uncertainty in velocity should decrease over time. - # velocity_stddev = self.evaluate( - # tf.math.reduce_std(particles['velocity'], axis=2)) - # self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) - # - # trajectories = self.evaluate( - # particle_filter.reconstruct_trajectories(particles, - # parent_indices, - # particles_dim=1)) - # self.assertAllEqual([num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]], - # trajectories['position'].shape) - # self.assertAllEqual([num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]], - # trajectories['velocity'].shape) - # - # # Verify that `infer_trajectories` also works on batches. - # trajectories, incremental_log_marginal_likelihoods = self.evaluate( - # particle_filter.infer_trajectories( - # observations=observed_positions, - # initial_state_prior=initial_state_prior, - # transition_fn=transition_fn, - # observation_fn=observation_fn, - # num_particles=num_particles, - # particles_dim=1, - # seed=test_util.test_seed())) - # - # self.assertAllEqual([num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]], - # trajectories['position'].shape) - # self.assertAllEqual([num_timesteps, - # batch_shape[0], - # num_particles, - # batch_shape[1]], - # trajectories['velocity'].shape) - # self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - # [num_timesteps] + batch_shape) + + def test_batch_of_filters_particles_dim_1(self): + + batch_shape = [3, 2] + num_particles = 1000 + num_timesteps = 40 + + # Batch of priors on object 1D positions and velocities. + initial_state_prior = jdn.JointDistributionNamed({ + 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), + 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) + }) + + def transition_fn(_, previous_state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=previous_state['position'] + previous_state['velocity'], + scale=0.1), + 'velocity': + normal.Normal(loc=previous_state['velocity'], scale=0.01) + }) + + def observation_fn(_, state): + return normal.Normal(loc=state['position'], scale=0.1) + + # Batch of synthetic observations, . + true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) + true_velocities = 0.1 * np.random.randn( + *batch_shape).astype(self.dtype) + observed_positions = ( + true_velocities * + np.arange(num_timesteps).astype( + self.dtype)[..., tf.newaxis, tf.newaxis] + + true_initial_positions) + + (particles, log_weights, parent_indices, + incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed(), + particles_dim=1)) + + self.assertAllEqual(particles['position'].shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(particles['velocity'].shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(parent_indices.shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + self.assertAllClose( + self.evaluate( + tf.reduce_sum(tf.exp(log_weights) * + particles['position'], axis=2)), + observed_positions, + atol=0.3) + + velocity_means = tf.reduce_sum(tf.exp(log_weights) * + particles['velocity'], axis=2) + + self.assertAllClose( + self.evaluate(tf.reduce_mean(velocity_means, axis=0)), + true_velocities, atol=0.05) + + # Uncertainty in velocity should decrease over time. + velocity_stddev = self.evaluate( + tf.math.reduce_std(particles['velocity'], axis=2)) + self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, + parent_indices, + particles_dim=1)) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['velocity'].shape) + + # Verify that `infer_trajectories` also works on batches. + trajectories, incremental_log_marginal_likelihoods = self.evaluate( + particle_filter.infer_trajectories( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + particles_dim=1, + seed=test_util.test_seed())) + + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['velocity'].shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) def test_reconstruct_trajectories_toy_example(self): particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) From 7012580ba9831f03255976a00a059d004e19886c Mon Sep 17 00:00:00 2001 From: slamitza Date: Thu, 11 Jan 2024 17:29:43 +0100 Subject: [PATCH 09/24] pyleint --- .../python/experimental/mcmc/particle_filter_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 5c564b489a..7ef8d2a148 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -761,7 +761,7 @@ def rejuvenation_criterion(step, state): loc = tf.broadcast_to([0., 0.], [num_outer_particles, 2]) scale_diag = tf.broadcast_to([0.05, 0.05], [num_outer_particles, 2]) - params, inner_pt = self.evaluate(particle_filter.smc_squared( + params, _ = self.evaluate(particle_filter.smc_squared( inner_observations=inner_observations, inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( From 14e6d8485ae78b2051820b6ee827db8ddb82ccf1 Mon Sep 17 00:00:00 2001 From: slamitza Date: Thu, 11 Jan 2024 23:11:20 +0100 Subject: [PATCH 10/24] pylint --- .../experimental/mcmc/particle_filter.py | 20 +++++++++++++------ .../experimental/mcmc/particle_filter_test.py | 4 +++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index ca3c8df1ac..134c35514d 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -470,7 +470,9 @@ def smc_squared( unbiased_gradients=True, seed=None, ): - params_seed, particles_seed, smc_seed = samplers.split_seed(seed, n=3, salt='smc_squared') + params_seed, particles_seed, smc_seed = samplers.split_seed( + seed, n=3, salt='smc_squared' + ) num_observation_steps = ps.size0(tf.nest.flatten(inner_observations)[0]) @@ -807,19 +809,25 @@ def body(i, extra=inner_weighted_particles.extra ) - parent_indices, incremental_log_marginal_likelihood, accumulated_log_marginal_likelihood = mcmc_util.choose( + parent_indices, \ + incremental_log_marginal_likelihood, \ + accumulated_log_marginal_likelihood = mcmc_util.choose( accept, - (filter_results.parent_indices, filter_results.incremental_log_marginal_likelihood, + (filter_results.parent_indices, + filter_results.incremental_log_marginal_likelihood, filter_results.accumulated_log_marginal_likelihood), - (rej_filter_results.parent_indices, rej_filter_results.incremental_log_marginal_likelihood, + (rej_filter_results.parent_indices, + rej_filter_results.incremental_log_marginal_likelihood, rej_filter_results.accumulated_log_marginal_likelihood) ) filter_results = smc_kernel.SequentialMonteCarloResults( steps=filter_results.steps, parent_indices=parent_indices, - incremental_log_marginal_likelihood=incremental_log_marginal_likelihood, - accumulated_log_marginal_likelihood=accumulated_log_marginal_likelihood, + incremental_log_marginal_likelihood= + incremental_log_marginal_likelihood, + accumulated_log_marginal_likelihood= + accumulated_log_marginal_likelihood, seed=filter_results.seed ) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 7ef8d2a148..8e9a140999 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -776,7 +776,9 @@ def rejuvenation_criterion(step, state): particle_dynamics(params, _, state), 1) ), inner_observation_fn=lambda params: ( - lambda _, state: independent.Independent(normal.Normal(state, 2.), 1)), + lambda _, state: independent.Independent( + normal.Normal(state, 2.), 1) + ), outer_trace_fn=lambda s, r: ( s.particles[0], s.particles[1] From 79ca7d9339a8caf5a4cd27817d2aac308a9b537a Mon Sep 17 00:00:00 2001 From: slamitza Date: Thu, 11 Jan 2024 23:40:41 +0100 Subject: [PATCH 11/24] pylint --- .../python/experimental/mcmc/particle_filter.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 134c35514d..2322d5a5ec 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -605,9 +605,8 @@ def _outer_particle_filter_propose_and_update_log_weights_fn( ): """Build a function specifying a particle filter update step.""" def _outer_propose_and_update_log_weights_fn(step, state, seed=None): - outside_parameters = state.particles[0] ( - params, + outside_parameters, inner_particles, inner_parent_indices, inner_incremental_likelihood, From 183fdf902d3baeefb9b824bbde16cddee5ffa8ea Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 21 Jan 2024 17:30:23 +0100 Subject: [PATCH 12/24] fixed test --- .../experimental/mcmc/particle_filter.py | 17 +- .../experimental/mcmc/particle_filter_test.py | 854 +----------------- 2 files changed, 20 insertions(+), 851 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 2322d5a5ec..c5060747ee 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -446,7 +446,7 @@ def seeded_one_step(seed_state_results, _): def smc_squared( - inner_observations, + observations, initial_parameter_prior, num_outer_particles, inner_initial_state_prior, @@ -474,14 +474,14 @@ def smc_squared( seed, n=3, salt='smc_squared' ) - num_observation_steps = ps.size0(tf.nest.flatten(inner_observations)[0]) + num_observation_steps = ps.size0(tf.nest.flatten(observations)[0]) # TODO: The following two lines compensates for having the # first empty step in smc2 num_timesteps = (1 + num_transitions_per_observation * (num_observation_steps - 1)) + 1 - last_obs_expanded = tf.expand_dims(inner_observations[-1], axis=0) - inner_observations = tf.concat([inner_observations, + last_obs_expanded = tf.expand_dims(observations[-1], axis=0) + inner_observations = tf.concat([observations, last_obs_expanded], axis=0) @@ -1104,12 +1104,13 @@ def _compute_observation_log_weights(step, observation = tf.nest.map_structure( lambda x, step=step: tf.gather(x, observation_idx), observations) - if particles_dim == 1: - observation = tf.expand_dims(observation, axis=0) - observation = tf.nest.map_structure( - lambda x: tf.expand_dims(x, axis=particles_dim), observation) + if particles_dim != 1: + observation = tf.nest.map_structure( + lambda x: tf.expand_dims(x, axis=particles_dim), observation + ) log_weights = observation_fn(step, particles).log_prob(observation) + return tf.where(step_has_observation, log_weights, tf.zeros_like(log_weights)) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 8e9a140999..235ef57237 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -41,700 +41,6 @@ @test_util.test_all_tf_execution_regimes class _ParticleFilterTest(test_util.TestCase): - def test_random_walk(self): - initial_state_prior = jdn.JointDistributionNamed( - {'position': deterministic.Deterministic(0.)}) - - # Biased random walk. - def particle_dynamics(_, previous_state): - state_shape = ps.shape(previous_state['position']) - return jdn.JointDistributionNamed({ - 'position': - transformed_distribution.TransformedDistribution( - bernoulli.Bernoulli( - probs=tf.fill(state_shape, 0.75), dtype=self.dtype), - shift.Shift(previous_state['position'])) - }) - - # Completely uninformative observations allowing a test - # of the pure dynamics. - def particle_observations(_, state): - state_shape = ps.shape(state['position']) - return uniform.Uniform( - low=tf.fill(state_shape, -100.), high=tf.fill(state_shape, 100.)) - - observations = tf.zeros((9,), dtype=self.dtype) - trajectories, _ = self.evaluate( - particle_filter.infer_trajectories( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=particle_dynamics, - observation_fn=particle_observations, - num_particles=16384, - seed=test_util.test_seed())) - position = trajectories['position'] - - # The trajectories have the following properties: - # 1. they lie completely in the range [0, 8] - self.assertAllInRange(position, 0., 8.) - # 2. each step lies in the range [0, 1] - self.assertAllInRange(position[1:] - position[:-1], 0., 1.) - # 3. the expectation and variance of the final positions are 6 and 1.5. - self.assertAllClose(tf.reduce_mean(position[-1]), 6., atol=0.1) - self.assertAllClose(tf.math.reduce_variance(position[-1]), 1.5, atol=0.1) - - def test_batch_of_filters(self): - - batch_shape = [3, 2] - num_particles = 1000 - num_timesteps = 40 - - # Batch of priors on object 1D positions and velocities. - initial_state_prior = jdn.JointDistributionNamed({ - 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), - 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) - }) - - def transition_fn(_, previous_state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=previous_state['position'] + previous_state['velocity'], - scale=0.1), - 'velocity': - normal.Normal(loc=previous_state['velocity'], scale=0.01) - }) - - def observation_fn(_, state): - return normal.Normal(loc=state['position'], scale=0.1) - - # Batch of synthetic observations, . - true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - true_velocities = 0.1 * np.random.randn( - *batch_shape).astype(self.dtype) - observed_positions = ( - true_velocities * - np.arange(num_timesteps).astype( - self.dtype)[..., tf.newaxis, tf.newaxis] + - true_initial_positions) - - (particles, log_weights, parent_indices, - incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed())) - - self.assertAllEqual(particles['position'].shape, - [num_timesteps, num_particles] + batch_shape) - self.assertAllEqual(particles['velocity'].shape, - [num_timesteps, num_particles] + batch_shape) - self.assertAllEqual(parent_indices.shape, - [num_timesteps, num_particles] + batch_shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - self.assertAllClose( - self.evaluate( - tf.reduce_sum(tf.exp(log_weights) * - particles['position'], axis=1)), - observed_positions, - atol=0.1) - - velocity_means = tf.reduce_sum(tf.exp(log_weights) * - particles['velocity'], axis=1) - self.assertAllClose( - self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - true_velocities, atol=0.05) - - # Uncertainty in velocity should decrease over time. - velocity_stddev = self.evaluate( - tf.math.reduce_std(particles['velocity'], axis=1)) - self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, parent_indices)) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['velocity'].shape) - - # Verify that `infer_trajectories` also works on batches. - trajectories, incremental_log_marginal_likelihoods = self.evaluate( - particle_filter.infer_trajectories( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed())) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['velocity'].shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - def test_batch_of_filters_particles_dim_1(self): - - batch_shape = [3, 2] - num_particles = 1000 - num_timesteps = 40 - - # Batch of priors on object 1D positions and velocities. - initial_state_prior = jdn.JointDistributionNamed({ - 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), - 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) - }) - - def transition_fn(_, previous_state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=previous_state['position'] + previous_state['velocity'], - scale=0.1), - 'velocity': - normal.Normal(loc=previous_state['velocity'], scale=0.01) - }) - - def observation_fn(_, state): - return normal.Normal(loc=state['position'], scale=0.1) - - # Batch of synthetic observations, . - true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - true_velocities = 0.1 * np.random.randn( - *batch_shape).astype(self.dtype) - observed_positions = ( - true_velocities * - np.arange(num_timesteps).astype( - self.dtype)[..., tf.newaxis, tf.newaxis] + - true_initial_positions) - - (particles, log_weights, parent_indices, - incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed(), - particles_dim=1)) - - self.assertAllEqual(particles['position'].shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(particles['velocity'].shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(parent_indices.shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - self.assertAllClose( - self.evaluate( - tf.reduce_sum(tf.exp(log_weights) * - particles['position'], axis=2)), - observed_positions, - atol=0.3) - - velocity_means = tf.reduce_sum(tf.exp(log_weights) * - particles['velocity'], axis=2) - - self.assertAllClose( - self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - true_velocities, atol=0.05) - - # Uncertainty in velocity should decrease over time. - velocity_stddev = self.evaluate( - tf.math.reduce_std(particles['velocity'], axis=2)) - self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, - parent_indices, - particles_dim=1)) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['velocity'].shape) - - # Verify that `infer_trajectories` also works on batches. - trajectories, incremental_log_marginal_likelihoods = self.evaluate( - particle_filter.infer_trajectories( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - particles_dim=1, - seed=test_util.test_seed())) - - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['velocity'].shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - def test_reconstruct_trajectories_toy_example(self): - particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) - # 1 -- 4 -- 7 - # 2 \/ 5 .- 8 - # 3 /\ 6 /-- 9 - parent_indices = tf.convert_to_tensor([[0, 1, 2], [0, 2, 1], [0, 2, 2]]) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, parent_indices)) - self.assertAllEqual( - np.array([[1, 2, 2], [4, 6, 6], [7, 8, 9]]), trajectories) - - def test_epidemiological_model(self): - # A toy, discrete version of an SIR (Susceptible, Infected, Recovered) - # model (https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology) - - population_size = 1000 - infection_rate = tf.convert_to_tensor(1.1) - infectious_period = tf.convert_to_tensor(8.0) - - initial_state_prior = jdn.JointDistributionNamed({ - 'susceptible': deterministic.Deterministic(999.), - 'infected': deterministic.Deterministic(1.), - 'new_infections': deterministic.Deterministic(1.), - 'new_recoveries': deterministic.Deterministic(0.) - }) - - # Dynamics model: new infections and recoveries are given by the SIR - # model with Poisson noise. - def infection_dynamics(_, previous_state): - new_infections = poisson.Poisson( - infection_rate * previous_state['infected'] * - previous_state['susceptible'] / population_size) - new_recoveries = poisson.Poisson(previous_state['infected'] / - infectious_period) - - def susceptible(new_infections): - return deterministic.Deterministic( - ps.maximum(0., previous_state['susceptible'] - new_infections)) - - def infected(new_infections, new_recoveries): - return deterministic.Deterministic( - ps.maximum( - 0., - previous_state['infected'] + new_infections - new_recoveries)) - - return jdn.JointDistributionNamed({ - 'new_infections': new_infections, - 'new_recoveries': new_recoveries, - 'susceptible': susceptible, - 'infected': infected - }) - - # Observation model: each day we detect new cases, noisily. - def infection_observations(_, state): - return poisson.Poisson(state['infected']) - - # pylint: disable=bad-whitespace - observations = tf.convert_to_tensor([ - 0., 4., 1., 5., 23., 27., 75., 127., 248., 384., 540., 683., - 714., 611., 561., 493., 385., 348., 300., 277., 249., 219., 216., 174., - 132., 122., 115., 99., 76., 84., 77., 56., 42., 56., 46., 38., - 34., 44., 25., 27.]) - # pylint: enable=bad-whitespace - - trajectories, _ = self.evaluate( - particle_filter.infer_trajectories( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=infection_dynamics, - observation_fn=infection_observations, - num_particles=100, - seed=test_util.test_seed())) - - # The susceptible population should decrease over time. - self.assertAllLessEqual( - trajectories['susceptible'][1:, ...] - - trajectories['susceptible'][:-1, ...], - 0.0) - - def test_data_driven_proposal(self): - - num_particles = 100 - observations = tf.convert_to_tensor([60., -179.2, 1337.42]) - - # Define a system constrained primarily by observations, where proposing - # from the dynamics would be a bad fit. - initial_state_prior = normal.Normal(loc=0., scale=1e6) - transition_fn = ( - lambda _, previous_state: normal.Normal(loc=previous_state, scale=1e6)) - observation_fn = lambda _, state: normal.Normal(loc=state, scale=0.1) - initial_state_proposal = normal.Normal(loc=observations[0], scale=0.1) - proposal_fn = ( - lambda step, state: normal.Normal( # pylint: disable=g-long-lambda - loc=tf.ones_like(state) * observations[step + 1], - scale=1.0)) - - trajectories, _ = self.evaluate( - particle_filter.infer_trajectories( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - initial_state_proposal=initial_state_proposal, - proposal_fn=proposal_fn, - seed=test_util.test_seed())) - self.assertAllClose(trajectories, - tf.convert_to_tensor( - tf.convert_to_tensor( - observations)[..., tf.newaxis] * - tf.ones([num_particles])), atol=1.0) - - def test_estimated_prob_approximates_true_prob(self): - - # Draw simulated data from a 2D linear Gaussian system. - initial_state_prior = mvn_diag.MultivariateNormalDiag( - loc=0., scale_diag=(1., 1.)) - transition_matrix = tf.convert_to_tensor([[1., -0.5], [0.4, -1.]]) - transition_noise = mvn_tril.MultivariateNormalTriL( - loc=1., scale_tril=tf.convert_to_tensor([[0.3, 0], [-0.1, 0.2]])) - observation_matrix = tf.convert_to_tensor([[0.1, 1.], [1., 0.2]]) - observation_noise = mvn_tril.MultivariateNormalTriL( - loc=-0.3, scale_tril=tf.convert_to_tensor([[0.5, 0], [0.1, 0.5]])) - model = lgssm.LinearGaussianStateSpaceModel( - num_timesteps=20, - initial_state_prior=initial_state_prior, - transition_matrix=transition_matrix, - transition_noise=transition_noise, - observation_matrix=observation_matrix, - observation_noise=observation_noise) - observations = self.evaluate( - model.sample(seed=test_util.test_seed())) - (lps, filtered_means, - _, _, _, _, _) = self.evaluate(model.forward_filter(observations)) - - # Approximate the filtering means and marginal likelihood(s) using - # the particle filter. - # pylint: disable=g-long-lambda - (particles, log_weights, _, - estimated_incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=lambda _, previous_state: mvn_tril. - MultivariateNormalTriL( - loc=transition_noise.loc + tf.linalg.matvec( - transition_matrix, previous_state), - scale_tril=transition_noise.scale_tril), - observation_fn=lambda _, state: mvn_tril.MultivariateNormalTriL( - loc=observation_noise.loc + tf.linalg.matvec( - observation_matrix, state), - scale_tril=observation_noise.scale_tril), - num_particles=1024, - seed=test_util.test_seed())) - # pylint: enable=g-long-lambda - - particle_means = np.sum( - particles * np.exp(log_weights)[..., np.newaxis], axis=1) - self.assertAllClose(filtered_means, particle_means, atol=0.1, rtol=0.1) - - self.assertAllClose( - lps, estimated_incremental_log_marginal_likelihoods, atol=0.6) - - def test_proposal_weights_dont_affect_marginal_likelihood(self): - observation = np.array([-1.3, 0.7]).astype(self.dtype) - # This particle filter has proposals different from the dynamics, - # so internally it will use proposal weights in addition to observation - # weights. It should still get the observation likelihood correct. - _, lps = self.evaluate( - particle_filter.infer_trajectories( - observation, - initial_state_prior=normal.Normal(loc=0., scale=1.), - transition_fn=lambda _, x: normal.Normal(loc=x, scale=1.), - observation_fn=lambda _, x: normal.Normal(loc=x, scale=1.), - initial_state_proposal=normal.Normal(loc=0., scale=5.), - proposal_fn=lambda _, x: normal.Normal(loc=x, scale=5.), - num_particles=2048, - seed=test_util.test_seed())) - - # Compare marginal likelihood against that - # from the true (jointly normal) marginal distribution. - y1_marginal_dist = normal.Normal(loc=0., scale=np.sqrt(1. + 1.)) - y2_conditional_dist = ( - lambda y1: normal.Normal(loc=y1 / 2., scale=np.sqrt(5. / 2.))) - true_lps = tf.stack( - [y1_marginal_dist.log_prob(observation[0]), - y2_conditional_dist(observation[0]).log_prob(observation[1])], - axis=0) - # The following line passes at atol = 0.01 if num_particles = 32768. - self.assertAllClose(true_lps, lps, atol=0.2) - - def test_can_step_dynamics_faster_than_observations(self): - initial_state_prior = jdn.JointDistributionNamed({ - 'position': deterministic.Deterministic(1.), - 'velocity': deterministic.Deterministic(0.) - }) - - # Use 100 steps between observations to integrate a simple harmonic - # oscillator. - dt = 0.01 - def simple_harmonic_motion_transition_fn(_, state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=state['position'] + dt * state['velocity'], - scale=dt * 0.01), - 'velocity': - normal.Normal( - loc=state['velocity'] - dt * state['position'], - scale=dt * 0.01) - }) - - def observe_position(_, state): - return normal.Normal(loc=state['position'], scale=0.01) - - particles, _, _, lps = self.evaluate( - particle_filter.particle_filter( - # 'Observing' the values we'd expect from a proper integrator should - # give high likelihood if our discrete approximation is good. - observations=tf.convert_to_tensor( - [tf.math.cos(0.), tf.math.cos(1.)]), - initial_state_prior=initial_state_prior, - transition_fn=simple_harmonic_motion_transition_fn, - observation_fn=observe_position, - num_particles=1024, - num_transitions_per_observation=100, - seed=test_util.test_seed())) - - self.assertLen(particles['position'], 101) - self.assertAllClose(np.mean(particles['position'], axis=-1), - tf.math.cos(dt * np.arange(101)), - atol=0.04) - self.assertLen(lps, 101) - self.assertGreater(lps[0], 3.) - self.assertGreater(lps[-1], 3.) - - def test_custom_trace_fn(self): - - def trace_fn(state, _): - # Traces the mean and stddev of the particle population at each step. - weights = tf.exp(state.log_weights) - mean = tf.reduce_sum(weights * state.particles, axis=0) - variance = tf.reduce_sum( - weights * (state.particles - mean[tf.newaxis, ...])**2) - return {'mean': mean, - 'stddev': tf.sqrt(variance), - # In real usage we would likely not track the particles and - # weights. We keep them here just so we can double-check the - # stats, below. - 'particles': state.particles, - 'weights': weights} - - results = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 1.), - observation_fn=lambda _, state: normal.Normal(state, 1.), - num_particles=1024, - trace_fn=trace_fn, - seed=test_util.test_seed())) - - # Verify that posterior means are increasing. - self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) - - # Check that our traced means and scales match values computed - # by averaging over particles after the fact. - all_means = self.evaluate(tf.reduce_sum( - results['weights'] * results['particles'], axis=1)) - all_variances = self.evaluate( - tf.reduce_sum( - results['weights'] * - (results['particles'] - all_means[..., tf.newaxis])**2, - axis=1)) - self.assertAllClose(results['mean'], all_means) - self.assertAllClose(results['stddev'], np.sqrt(all_variances)) - - def test_step_indices_to_trace(self): - num_particles = 1024 - (particles_1_3, log_weights_1_3, parent_indices_1_3, - incremental_log_marginal_likelihood_1_3) = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 10.), - observation_fn=lambda _, state: normal.Normal(state, 0.1), - num_particles=num_particles, - trace_criterion_fn=lambda s, r: ps.logical_or( # pylint: disable=g-long-lambda - ps.equal(r.steps, 2), ps.equal(r.steps, 4)), - static_trace_allocation_size=2, - seed=test_util.test_seed())) - self.assertLen(particles_1_3, 2) - self.assertLen(log_weights_1_3, 2) - self.assertLen(parent_indices_1_3, 2) - self.assertLen(incremental_log_marginal_likelihood_1_3, 2) - means = np.sum(np.exp(log_weights_1_3) * particles_1_3, axis=1) - self.assertAllClose(means, [3., 7.], atol=1.) - - (final_particles, final_log_weights, final_cumulative_lp) = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 10.), - observation_fn=lambda _, state: normal.Normal(state, 0.1), - num_particles=num_particles, - trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda - s.particles, - s.log_weights, - r.accumulated_log_marginal_likelihood), - trace_criterion_fn=None, - seed=test_util.test_seed())) - self.assertLen(final_particles, num_particles) - self.assertLen(final_log_weights, num_particles) - self.assertEqual(final_cumulative_lp.shape, ()) - means = np.sum(np.exp(final_log_weights) * final_particles) - self.assertAllClose(means, 9., atol=1.5) - - def test_warns_if_transition_distribution_has_unexpected_shape(self): - - initial_state_prior = jdab.JointDistributionNamedAutoBatched({ - 'sales': deterministic.Deterministic(0.), - 'inventory': deterministic.Deterministic(1000.) - }) - - # Inventory decreases by a Poisson RV 'sales', but is lower bounded at zero. - def valid_transition_fn(_, particles): - return jdab.JointDistributionNamedAutoBatched( - { - 'sales': - poisson.Poisson(10. * tf.ones_like(particles['inventory'])), - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - batch_ndims=1, - validate_args=True) - - def dummy_observation_fn(_, state): - return normal.Normal(state['inventory'], 1000.) - - run_filter = functools.partial( - particle_filter.particle_filter, - observations=tf.zeros([10]), - initial_state_prior=initial_state_prior, - observation_fn=dummy_observation_fn, - num_particles=3, - seed=test_util.test_seed(sampler_type='stateless')) - - # Check that the model runs as written. - self.evaluate(run_filter(transition_fn=valid_transition_fn)) - self.evaluate(run_filter(transition_fn=valid_transition_fn, - proposal_fn=valid_transition_fn)) - - # Check that broken transition functions raise exceptions. - def transition_fn_broadcasts_over_particles(_, particles): - return jdn.JointDistributionNamed( - { - 'sales': - poisson.Poisson(10. - ), # Proposes same value for all particles. - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - validate_args=True) - - def transition_fn_partial_batch_shape(_, particles): - return jdn.JointDistributionNamed( - # Using `Sample` ensures iid proposals for each particle, but not - # per-particle log probs. - { - 'sales': - sample_dist_lib.Sample( - poisson.Poisson(10.), ps.shape(particles['sales'])), - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - validate_args=True) - - def transition_fn_no_batch_shape(_, particles): - # Autobatched JD defaults to treating num_particles as event shape, but - # we need it to be batch shape to get per-particle logprobs. - return jdab.JointDistributionNamedAutoBatched( - { - 'sales': - poisson.Poisson(10. * tf.ones_like(particles['inventory'])), - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - validate_args=True) - - with self.assertRaisesRegex(ValueError, 'transition distribution'): - self.evaluate( - run_filter(transition_fn=transition_fn_broadcasts_over_particles)) - with self.assertRaisesRegex(ValueError, 'transition distribution'): - self.evaluate( - run_filter(transition_fn=transition_fn_partial_batch_shape)) - with self.assertRaisesRegex(ValueError, 'transition distribution'): - self.evaluate( - run_filter(transition_fn=transition_fn_no_batch_shape)) - - with self.assertRaisesRegex(ValueError, 'proposal distribution'): - self.evaluate( - run_filter(transition_fn=valid_transition_fn, - proposal_fn=transition_fn_partial_batch_shape)) - with self.assertRaisesRegex(ValueError, 'proposal distribution'): - self.evaluate( - run_filter(transition_fn=valid_transition_fn, - proposal_fn=transition_fn_broadcasts_over_particles)) - - with self.assertRaisesRegex(ValueError, 'proposal distribution'): - self.evaluate( - run_filter(transition_fn=valid_transition_fn, - proposal_fn=transition_fn_no_batch_shape)) - - @test_util.jax_disable_test_missing_functionality('Gradient of while_loop.') - def test_marginal_likelihood_gradients_are_defined(self): - - def marginal_log_likelihood(level_scale, noise_scale): - _, _, _, lps = particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 2., 3., 4., 5.]), - initial_state_prior=normal.Normal(loc=0, scale=1.), - transition_fn=lambda _, x: normal.Normal(loc=x, scale=level_scale), - observation_fn=lambda _, x: normal.Normal(loc=x, scale=noise_scale), - num_particles=4, - seed=test_util.test_seed()) - return tf.reduce_sum(lps) - - _, grads = gradient.value_and_gradient(marginal_log_likelihood, 1.0, 1.0) - self.assertAllNotNone(grads) - self.assertAllAssertsNested(self.assertNotAllZero, grads) - def test_smc_squared_rejuvenation_parameters(self): def particle_dynamics(params, _, previous_state): reshaped_params = tf.reshape(params, @@ -742,7 +48,12 @@ def particle_dynamics(params, _, previous_state): [1] * (previous_state.shape.rank - 1)) broadcasted_params = tf.broadcast_to(reshaped_params, previous_state.shape) - return normal.Normal(previous_state + broadcasted_params + 1, 0.1) + reshaped_dist = independent.Independent( + normal.Normal(previous_state + broadcasted_params + 1, 0.1), + reinterpreted_batch_ndims=1 + ) + + return reshaped_dist def rejuvenation_criterion(step, state): # Rejuvenation every 2 steps @@ -753,7 +64,8 @@ def rejuvenation_criterion(step, state): return tf.cond(cond, lambda: tf.constant(True), lambda: tf.constant(False)) - inner_observations = tf.range(30, dtype=tf.float32) + observations = tf.stack([tf.range(30, dtype=tf.float32), + tf.range(30, dtype=tf.float32)], axis=1) num_outer_particles = 3 num_inner_particles = 7 @@ -762,7 +74,7 @@ def rejuvenation_criterion(step, state): scale_diag = tf.broadcast_to([0.05, 0.05], [num_outer_particles, 2]) params, _ = self.evaluate(particle_filter.smc_squared( - inner_observations=inner_observations, + observations=observations, inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( loc=loc, scale_diag=scale_diag @@ -771,10 +83,8 @@ def rejuvenation_criterion(step, state): num_outer_particles=num_outer_particles, num_inner_particles=num_inner_particles, outer_rejuvenation_criterion_fn=rejuvenation_criterion, - inner_transition_fn=lambda params: ( - lambda _, state: independent.Independent( - particle_dynamics(params, _, state), 1) - ), + inner_transition_fn=lambda params: + lambda _, state: particle_dynamics(params, _, state), inner_observation_fn=lambda params: ( lambda _, state: independent.Independent( normal.Normal(state, 2.), 1) @@ -794,148 +104,6 @@ def rejuvenation_criterion(step, state): self.assertAllTrue(mask_parameters) - def test_smc_squared_can_step_dynamics_faster_than_observations(self): - initial_state_prior = jdn.JointDistributionNamed({ - 'position': deterministic.Deterministic([1.]), - 'velocity': deterministic.Deterministic([0.]) - }) - - # Use 100 steps between observations to integrate a simple harmonic - # oscillator. - dt = 0.01 - def simple_harmonic_motion_transition_fn(_, state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=state['position'] + dt * state['velocity'], - scale=dt * 0.01), - 'velocity': - normal.Normal( - loc=state['velocity'] - dt * state['position'], - scale=dt * 0.01) - }) - - def observe_position(_, state): - return normal.Normal(loc=state['position'], scale=0.01) - - particles, lps = self.evaluate(particle_filter.smc_squared( - inner_observations=tf.convert_to_tensor( - [tf.math.cos(0.), tf.math.cos(1.)]), - inner_initial_state_prior=lambda _, params: initial_state_prior, - initial_parameter_prior=deterministic.Deterministic(0.), - num_outer_particles=1, - inner_transition_fn=lambda params: - simple_harmonic_motion_transition_fn, - inner_observation_fn=lambda params: observe_position, - num_inner_particles=1024, - outer_trace_fn=lambda s, r: ( - s.particles[1].particles, - s.particles[3] - ), - num_transitions_per_observation=100, - seed=test_util.test_seed()) - ) - - self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, - 1, - 1024])) - - self.assertAllClose(tf.transpose(np.mean(particles['position'], axis=-1)), - tf.reshape(tf.math.cos(dt * np.arange(102)), [1, -1]), - atol=0.04) - - self.assertAllEqual(ps.shape(lps), [102, 1]) - self.assertGreater(lps[1][0], 1.) - self.assertGreater(lps[-1][0], 3.) - - def test_smc_squared_custom_outer_trace_fn(self): - def trace_fn(state, _): - # Traces the mean and stddev of the particle population at each step. - weights = tf.exp(state[0][1].log_weights[0]) - mean = tf.reduce_sum(weights * state[0][1].particles[0], axis=0) - variance = tf.reduce_sum( - weights * (state[0][1].particles[0] - mean[tf.newaxis, ...]) ** 2) - return {'mean': mean, - 'stddev': tf.sqrt(variance), - # In real usage we would likely not track the particles and - # weights. We keep them here just so we can double-check the - # stats, below. - 'particles': state[0][1].particles[0], - 'weights': weights} - - results = self.evaluate(particle_filter.smc_squared( - inner_observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - inner_initial_state_prior=lambda _, params: normal.Normal([0.], 1.), - initial_parameter_prior=deterministic.Deterministic(0.), - inner_transition_fn=lambda params: (lambda _, state: - normal.Normal(state, 1.)), - inner_observation_fn=lambda params: (lambda _, state: - normal.Normal(state, 1.)), - num_inner_particles=1024, - num_outer_particles=1, - outer_trace_fn=trace_fn, - seed=test_util.test_seed()) - ) - - # Verify that posterior means are increasing. - self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) - - # Check that our traced means and scales match values computed - # by averaging over particles after the fact. - all_means = self.evaluate(tf.reduce_sum( - results['weights'] * results['particles'], axis=1)) - all_variances = self.evaluate( - tf.reduce_sum( - results['weights'] * - (results['particles'] - all_means[..., tf.newaxis])**2, - axis=1)) - self.assertAllClose(results['mean'], all_means) - self.assertAllClose(results['stddev'], np.sqrt(all_variances)) - - def test_smc_squared_indices_to_trace(self): - num_outer_particles = 7 - num_inner_particles = 13 - - def rejuvenation_criterion(step, state): - # Rejuvenation every 3 steps - cond = tf.logical_and( - tf.equal(tf.math.mod(step, tf.constant(3)), tf.constant(0)), - tf.not_equal(state.extra[0], tf.constant(0)) - ) - return tf.cond(cond, lambda: tf.constant(True), - lambda: tf.constant(False)) - - (parameters, weight_parameters, - inner_particles, inner_log_weights, lp) = self.evaluate( - particle_filter.smc_squared( - inner_observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_parameter_prior=deterministic.Deterministic(0.), - inner_initial_state_prior=lambda _, params: normal.Normal( - [0.] * num_outer_particles, 1. - ), - inner_transition_fn=lambda params: - (lambda _, state: normal.Normal(state, 10.)), - inner_observation_fn=lambda params: - (lambda _, state: normal.Normal(state, 0.1)), - num_inner_particles=num_inner_particles, - num_outer_particles=num_outer_particles, - outer_rejuvenation_criterion_fn=rejuvenation_criterion, - outer_trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda - s.particles[0], - s.log_weights, - s.particles[1].particles, - s.particles[1].log_weights, - r.accumulated_log_marginal_likelihood), - seed=test_util.test_seed()) - ) - - # TODO: smc_squared at the moment starts his run with an empty step - self.assertAllEqual(ps.shape(parameters), [6, 7]) - self.assertAllEqual(ps.shape(weight_parameters), [6, 7]) - self.assertAllEqual(ps.shape(inner_particles), [6, 7, 13]) - self.assertAllEqual(ps.shape(inner_log_weights), [6, 7, 13]) - self.assertAllEqual(ps.shape(lp), [6]) - # TODO(b/186068104): add tests with dynamic shapes. class ParticleFilterTestFloat32(_ParticleFilterTest): From 4c5f86e3cec9781647c64aa229ffc5ace44c187e Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 21 Jan 2024 17:32:43 +0100 Subject: [PATCH 13/24] pylint tests --- .../experimental/mcmc/particle_filter_test.py | 836 ++++++++++++++++++ 1 file changed, 836 insertions(+) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 235ef57237..7efbf9a286 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -41,6 +41,700 @@ @test_util.test_all_tf_execution_regimes class _ParticleFilterTest(test_util.TestCase): + def test_random_walk(self): + initial_state_prior = jdn.JointDistributionNamed( + {'position': deterministic.Deterministic(0.)}) + + # Biased random walk. + def particle_dynamics(_, previous_state): + state_shape = ps.shape(previous_state['position']) + return jdn.JointDistributionNamed({ + 'position': + transformed_distribution.TransformedDistribution( + bernoulli.Bernoulli( + probs=tf.fill(state_shape, 0.75), dtype=self.dtype), + shift.Shift(previous_state['position'])) + }) + + # Completely uninformative observations allowing a test + # of the pure dynamics. + def particle_observations(_, state): + state_shape = ps.shape(state['position']) + return uniform.Uniform( + low=tf.fill(state_shape, -100.), high=tf.fill(state_shape, 100.)) + + observations = tf.zeros((9,), dtype=self.dtype) + trajectories, _ = self.evaluate( + particle_filter.infer_trajectories( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=particle_dynamics, + observation_fn=particle_observations, + num_particles=16384, + seed=test_util.test_seed())) + position = trajectories['position'] + + # The trajectories have the following properties: + # 1. they lie completely in the range [0, 8] + self.assertAllInRange(position, 0., 8.) + # 2. each step lies in the range [0, 1] + self.assertAllInRange(position[1:] - position[:-1], 0., 1.) + # 3. the expectation and variance of the final positions are 6 and 1.5. + self.assertAllClose(tf.reduce_mean(position[-1]), 6., atol=0.1) + self.assertAllClose(tf.math.reduce_variance(position[-1]), 1.5, atol=0.1) + + def test_batch_of_filters(self): + + batch_shape = [3, 2] + num_particles = 1000 + num_timesteps = 40 + + # Batch of priors on object 1D positions and velocities. + initial_state_prior = jdn.JointDistributionNamed({ + 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), + 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) + }) + + def transition_fn(_, previous_state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=previous_state['position'] + previous_state['velocity'], + scale=0.1), + 'velocity': + normal.Normal(loc=previous_state['velocity'], scale=0.01) + }) + + def observation_fn(_, state): + return normal.Normal(loc=state['position'], scale=0.1) + + # Batch of synthetic observations, . + true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) + true_velocities = 0.1 * np.random.randn( + *batch_shape).astype(self.dtype) + observed_positions = ( + true_velocities * + np.arange(num_timesteps).astype( + self.dtype)[..., tf.newaxis, tf.newaxis] + + true_initial_positions) + + (particles, log_weights, parent_indices, + incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed())) + + self.assertAllEqual(particles['position'].shape, + [num_timesteps, num_particles] + batch_shape) + self.assertAllEqual(particles['velocity'].shape, + [num_timesteps, num_particles] + batch_shape) + self.assertAllEqual(parent_indices.shape, + [num_timesteps, num_particles] + batch_shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + self.assertAllClose( + self.evaluate( + tf.reduce_sum(tf.exp(log_weights) * + particles['position'], axis=1)), + observed_positions, + atol=0.1) + + velocity_means = tf.reduce_sum(tf.exp(log_weights) * + particles['velocity'], axis=1) + self.assertAllClose( + self.evaluate(tf.reduce_mean(velocity_means, axis=0)), + true_velocities, atol=0.05) + + # Uncertainty in velocity should decrease over time. + velocity_stddev = self.evaluate( + tf.math.reduce_std(particles['velocity'], axis=1)) + self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, parent_indices)) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['velocity'].shape) + + # Verify that `infer_trajectories` also works on batches. + trajectories, incremental_log_marginal_likelihoods = self.evaluate( + particle_filter.infer_trajectories( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed())) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['velocity'].shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + def test_batch_of_filters_particles_dim_1(self): + + batch_shape = [3, 2] + num_particles = 1000 + num_timesteps = 40 + + # Batch of priors on object 1D positions and velocities. + initial_state_prior = jdn.JointDistributionNamed({ + 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), + 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) + }) + + def transition_fn(_, previous_state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=previous_state['position'] + previous_state['velocity'], + scale=0.1), + 'velocity': + normal.Normal(loc=previous_state['velocity'], scale=0.01) + }) + + def observation_fn(_, state): + return normal.Normal(loc=state['position'], scale=0.1) + + # Batch of synthetic observations, . + true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) + true_velocities = 0.1 * np.random.randn( + *batch_shape).astype(self.dtype) + observed_positions = ( + true_velocities * + np.arange(num_timesteps).astype( + self.dtype)[..., tf.newaxis, tf.newaxis] + + true_initial_positions) + + (particles, log_weights, parent_indices, + incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed(), + particles_dim=1)) + + self.assertAllEqual(particles['position'].shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(particles['velocity'].shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(parent_indices.shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + self.assertAllClose( + self.evaluate( + tf.reduce_sum(tf.exp(log_weights) * + particles['position'], axis=2)), + observed_positions, + atol=0.3) + + velocity_means = tf.reduce_sum(tf.exp(log_weights) * + particles['velocity'], axis=2) + + self.assertAllClose( + self.evaluate(tf.reduce_mean(velocity_means, axis=0)), + true_velocities, atol=0.05) + + # Uncertainty in velocity should decrease over time. + velocity_stddev = self.evaluate( + tf.math.reduce_std(particles['velocity'], axis=2)) + self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, + parent_indices, + particles_dim=1)) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['velocity'].shape) + + # Verify that `infer_trajectories` also works on batches. + trajectories, incremental_log_marginal_likelihoods = self.evaluate( + particle_filter.infer_trajectories( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + particles_dim=1, + seed=test_util.test_seed())) + + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['velocity'].shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + def test_reconstruct_trajectories_toy_example(self): + particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) + # 1 -- 4 -- 7 + # 2 \/ 5 .- 8 + # 3 /\ 6 /-- 9 + parent_indices = tf.convert_to_tensor([[0, 1, 2], [0, 2, 1], [0, 2, 2]]) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, parent_indices)) + self.assertAllEqual( + np.array([[1, 2, 2], [4, 6, 6], [7, 8, 9]]), trajectories) + + def test_epidemiological_model(self): + # A toy, discrete version of an SIR (Susceptible, Infected, Recovered) + # model (https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology) + + population_size = 1000 + infection_rate = tf.convert_to_tensor(1.1) + infectious_period = tf.convert_to_tensor(8.0) + + initial_state_prior = jdn.JointDistributionNamed({ + 'susceptible': deterministic.Deterministic(999.), + 'infected': deterministic.Deterministic(1.), + 'new_infections': deterministic.Deterministic(1.), + 'new_recoveries': deterministic.Deterministic(0.) + }) + + # Dynamics model: new infections and recoveries are given by the SIR + # model with Poisson noise. + def infection_dynamics(_, previous_state): + new_infections = poisson.Poisson( + infection_rate * previous_state['infected'] * + previous_state['susceptible'] / population_size) + new_recoveries = poisson.Poisson(previous_state['infected'] / + infectious_period) + + def susceptible(new_infections): + return deterministic.Deterministic( + ps.maximum(0., previous_state['susceptible'] - new_infections)) + + def infected(new_infections, new_recoveries): + return deterministic.Deterministic( + ps.maximum( + 0., + previous_state['infected'] + new_infections - new_recoveries)) + + return jdn.JointDistributionNamed({ + 'new_infections': new_infections, + 'new_recoveries': new_recoveries, + 'susceptible': susceptible, + 'infected': infected + }) + + # Observation model: each day we detect new cases, noisily. + def infection_observations(_, state): + return poisson.Poisson(state['infected']) + + # pylint: disable=bad-whitespace + observations = tf.convert_to_tensor([ + 0., 4., 1., 5., 23., 27., 75., 127., 248., 384., 540., 683., + 714., 611., 561., 493., 385., 348., 300., 277., 249., 219., 216., 174., + 132., 122., 115., 99., 76., 84., 77., 56., 42., 56., 46., 38., + 34., 44., 25., 27.]) + # pylint: enable=bad-whitespace + + trajectories, _ = self.evaluate( + particle_filter.infer_trajectories( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=infection_dynamics, + observation_fn=infection_observations, + num_particles=100, + seed=test_util.test_seed())) + + # The susceptible population should decrease over time. + self.assertAllLessEqual( + trajectories['susceptible'][1:, ...] - + trajectories['susceptible'][:-1, ...], + 0.0) + + def test_data_driven_proposal(self): + + num_particles = 100 + observations = tf.convert_to_tensor([60., -179.2, 1337.42]) + + # Define a system constrained primarily by observations, where proposing + # from the dynamics would be a bad fit. + initial_state_prior = normal.Normal(loc=0., scale=1e6) + transition_fn = ( + lambda _, previous_state: normal.Normal(loc=previous_state, scale=1e6)) + observation_fn = lambda _, state: normal.Normal(loc=state, scale=0.1) + initial_state_proposal = normal.Normal(loc=observations[0], scale=0.1) + proposal_fn = ( + lambda step, state: normal.Normal( # pylint: disable=g-long-lambda + loc=tf.ones_like(state) * observations[step + 1], + scale=1.0)) + + trajectories, _ = self.evaluate( + particle_filter.infer_trajectories( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + initial_state_proposal=initial_state_proposal, + proposal_fn=proposal_fn, + seed=test_util.test_seed())) + self.assertAllClose(trajectories, + tf.convert_to_tensor( + tf.convert_to_tensor( + observations)[..., tf.newaxis] * + tf.ones([num_particles])), atol=1.0) + + def test_estimated_prob_approximates_true_prob(self): + + # Draw simulated data from a 2D linear Gaussian system. + initial_state_prior = mvn_diag.MultivariateNormalDiag( + loc=0., scale_diag=(1., 1.)) + transition_matrix = tf.convert_to_tensor([[1., -0.5], [0.4, -1.]]) + transition_noise = mvn_tril.MultivariateNormalTriL( + loc=1., scale_tril=tf.convert_to_tensor([[0.3, 0], [-0.1, 0.2]])) + observation_matrix = tf.convert_to_tensor([[0.1, 1.], [1., 0.2]]) + observation_noise = mvn_tril.MultivariateNormalTriL( + loc=-0.3, scale_tril=tf.convert_to_tensor([[0.5, 0], [0.1, 0.5]])) + model = lgssm.LinearGaussianStateSpaceModel( + num_timesteps=20, + initial_state_prior=initial_state_prior, + transition_matrix=transition_matrix, + transition_noise=transition_noise, + observation_matrix=observation_matrix, + observation_noise=observation_noise) + observations = self.evaluate( + model.sample(seed=test_util.test_seed())) + (lps, filtered_means, + _, _, _, _, _) = self.evaluate(model.forward_filter(observations)) + + # Approximate the filtering means and marginal likelihood(s) using + # the particle filter. + # pylint: disable=g-long-lambda + (particles, log_weights, _, + estimated_incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=lambda _, previous_state: mvn_tril. + MultivariateNormalTriL( + loc=transition_noise.loc + tf.linalg.matvec( + transition_matrix, previous_state), + scale_tril=transition_noise.scale_tril), + observation_fn=lambda _, state: mvn_tril.MultivariateNormalTriL( + loc=observation_noise.loc + tf.linalg.matvec( + observation_matrix, state), + scale_tril=observation_noise.scale_tril), + num_particles=1024, + seed=test_util.test_seed())) + # pylint: enable=g-long-lambda + + particle_means = np.sum( + particles * np.exp(log_weights)[..., np.newaxis], axis=1) + self.assertAllClose(filtered_means, particle_means, atol=0.1, rtol=0.1) + + self.assertAllClose( + lps, estimated_incremental_log_marginal_likelihoods, atol=0.6) + + def test_proposal_weights_dont_affect_marginal_likelihood(self): + observation = np.array([-1.3, 0.7]).astype(self.dtype) + # This particle filter has proposals different from the dynamics, + # so internally it will use proposal weights in addition to observation + # weights. It should still get the observation likelihood correct. + _, lps = self.evaluate( + particle_filter.infer_trajectories( + observation, + initial_state_prior=normal.Normal(loc=0., scale=1.), + transition_fn=lambda _, x: normal.Normal(loc=x, scale=1.), + observation_fn=lambda _, x: normal.Normal(loc=x, scale=1.), + initial_state_proposal=normal.Normal(loc=0., scale=5.), + proposal_fn=lambda _, x: normal.Normal(loc=x, scale=5.), + num_particles=2048, + seed=test_util.test_seed())) + + # Compare marginal likelihood against that + # from the true (jointly normal) marginal distribution. + y1_marginal_dist = normal.Normal(loc=0., scale=np.sqrt(1. + 1.)) + y2_conditional_dist = ( + lambda y1: normal.Normal(loc=y1 / 2., scale=np.sqrt(5. / 2.))) + true_lps = tf.stack( + [y1_marginal_dist.log_prob(observation[0]), + y2_conditional_dist(observation[0]).log_prob(observation[1])], + axis=0) + # The following line passes at atol = 0.01 if num_particles = 32768. + self.assertAllClose(true_lps, lps, atol=0.2) + + def test_can_step_dynamics_faster_than_observations(self): + initial_state_prior = jdn.JointDistributionNamed({ + 'position': deterministic.Deterministic(1.), + 'velocity': deterministic.Deterministic(0.) + }) + + # Use 100 steps between observations to integrate a simple harmonic + # oscillator. + dt = 0.01 + def simple_harmonic_motion_transition_fn(_, state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=state['position'] + dt * state['velocity'], + scale=dt * 0.01), + 'velocity': + normal.Normal( + loc=state['velocity'] - dt * state['position'], + scale=dt * 0.01) + }) + + def observe_position(_, state): + return normal.Normal(loc=state['position'], scale=0.01) + + particles, _, _, lps = self.evaluate( + particle_filter.particle_filter( + # 'Observing' the values we'd expect from a proper integrator should + # give high likelihood if our discrete approximation is good. + observations=tf.convert_to_tensor( + [tf.math.cos(0.), tf.math.cos(1.)]), + initial_state_prior=initial_state_prior, + transition_fn=simple_harmonic_motion_transition_fn, + observation_fn=observe_position, + num_particles=1024, + num_transitions_per_observation=100, + seed=test_util.test_seed())) + + self.assertLen(particles['position'], 101) + self.assertAllClose(np.mean(particles['position'], axis=-1), + tf.math.cos(dt * np.arange(101)), + atol=0.04) + self.assertLen(lps, 101) + self.assertGreater(lps[0], 3.) + self.assertGreater(lps[-1], 3.) + + def test_custom_trace_fn(self): + + def trace_fn(state, _): + # Traces the mean and stddev of the particle population at each step. + weights = tf.exp(state.log_weights) + mean = tf.reduce_sum(weights * state.particles, axis=0) + variance = tf.reduce_sum( + weights * (state.particles - mean[tf.newaxis, ...])**2) + return {'mean': mean, + 'stddev': tf.sqrt(variance), + # In real usage we would likely not track the particles and + # weights. We keep them here just so we can double-check the + # stats, below. + 'particles': state.particles, + 'weights': weights} + + results = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 1.), + observation_fn=lambda _, state: normal.Normal(state, 1.), + num_particles=1024, + trace_fn=trace_fn, + seed=test_util.test_seed())) + + # Verify that posterior means are increasing. + self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) + + # Check that our traced means and scales match values computed + # by averaging over particles after the fact. + all_means = self.evaluate(tf.reduce_sum( + results['weights'] * results['particles'], axis=1)) + all_variances = self.evaluate( + tf.reduce_sum( + results['weights'] * + (results['particles'] - all_means[..., tf.newaxis])**2, + axis=1)) + self.assertAllClose(results['mean'], all_means) + self.assertAllClose(results['stddev'], np.sqrt(all_variances)) + + def test_step_indices_to_trace(self): + num_particles = 1024 + (particles_1_3, log_weights_1_3, parent_indices_1_3, + incremental_log_marginal_likelihood_1_3) = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 10.), + observation_fn=lambda _, state: normal.Normal(state, 0.1), + num_particles=num_particles, + trace_criterion_fn=lambda s, r: ps.logical_or( # pylint: disable=g-long-lambda + ps.equal(r.steps, 2), ps.equal(r.steps, 4)), + static_trace_allocation_size=2, + seed=test_util.test_seed())) + self.assertLen(particles_1_3, 2) + self.assertLen(log_weights_1_3, 2) + self.assertLen(parent_indices_1_3, 2) + self.assertLen(incremental_log_marginal_likelihood_1_3, 2) + means = np.sum(np.exp(log_weights_1_3) * particles_1_3, axis=1) + self.assertAllClose(means, [3., 7.], atol=1.) + + (final_particles, final_log_weights, final_cumulative_lp) = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 10.), + observation_fn=lambda _, state: normal.Normal(state, 0.1), + num_particles=num_particles, + trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda + s.particles, + s.log_weights, + r.accumulated_log_marginal_likelihood), + trace_criterion_fn=None, + seed=test_util.test_seed())) + self.assertLen(final_particles, num_particles) + self.assertLen(final_log_weights, num_particles) + self.assertEqual(final_cumulative_lp.shape, ()) + means = np.sum(np.exp(final_log_weights) * final_particles) + self.assertAllClose(means, 9., atol=1.5) + + def test_warns_if_transition_distribution_has_unexpected_shape(self): + + initial_state_prior = jdab.JointDistributionNamedAutoBatched({ + 'sales': deterministic.Deterministic(0.), + 'inventory': deterministic.Deterministic(1000.) + }) + + # Inventory decreases by a Poisson RV 'sales', but is lower bounded at zero. + def valid_transition_fn(_, particles): + return jdab.JointDistributionNamedAutoBatched( + { + 'sales': + poisson.Poisson(10. * tf.ones_like(particles['inventory'])), + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + batch_ndims=1, + validate_args=True) + + def dummy_observation_fn(_, state): + return normal.Normal(state['inventory'], 1000.) + + run_filter = functools.partial( + particle_filter.particle_filter, + observations=tf.zeros([10]), + initial_state_prior=initial_state_prior, + observation_fn=dummy_observation_fn, + num_particles=3, + seed=test_util.test_seed(sampler_type='stateless')) + + # Check that the model runs as written. + self.evaluate(run_filter(transition_fn=valid_transition_fn)) + self.evaluate(run_filter(transition_fn=valid_transition_fn, + proposal_fn=valid_transition_fn)) + + # Check that broken transition functions raise exceptions. + def transition_fn_broadcasts_over_particles(_, particles): + return jdn.JointDistributionNamed( + { + 'sales': + poisson.Poisson(10. + ), # Proposes same value for all particles. + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + validate_args=True) + + def transition_fn_partial_batch_shape(_, particles): + return jdn.JointDistributionNamed( + # Using `Sample` ensures iid proposals for each particle, but not + # per-particle log probs. + { + 'sales': + sample_dist_lib.Sample( + poisson.Poisson(10.), ps.shape(particles['sales'])), + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + validate_args=True) + + def transition_fn_no_batch_shape(_, particles): + # Autobatched JD defaults to treating num_particles as event shape, but + # we need it to be batch shape to get per-particle logprobs. + return jdab.JointDistributionNamedAutoBatched( + { + 'sales': + poisson.Poisson(10. * tf.ones_like(particles['inventory'])), + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + validate_args=True) + + with self.assertRaisesRegex(ValueError, 'transition distribution'): + self.evaluate( + run_filter(transition_fn=transition_fn_broadcasts_over_particles)) + with self.assertRaisesRegex(ValueError, 'transition distribution'): + self.evaluate( + run_filter(transition_fn=transition_fn_partial_batch_shape)) + with self.assertRaisesRegex(ValueError, 'transition distribution'): + self.evaluate( + run_filter(transition_fn=transition_fn_no_batch_shape)) + + with self.assertRaisesRegex(ValueError, 'proposal distribution'): + self.evaluate( + run_filter(transition_fn=valid_transition_fn, + proposal_fn=transition_fn_partial_batch_shape)) + with self.assertRaisesRegex(ValueError, 'proposal distribution'): + self.evaluate( + run_filter(transition_fn=valid_transition_fn, + proposal_fn=transition_fn_broadcasts_over_particles)) + + with self.assertRaisesRegex(ValueError, 'proposal distribution'): + self.evaluate( + run_filter(transition_fn=valid_transition_fn, + proposal_fn=transition_fn_no_batch_shape)) + + @test_util.jax_disable_test_missing_functionality('Gradient of while_loop.') + def test_marginal_likelihood_gradients_are_defined(self): + + def marginal_log_likelihood(level_scale, noise_scale): + _, _, _, lps = particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 2., 3., 4., 5.]), + initial_state_prior=normal.Normal(loc=0, scale=1.), + transition_fn=lambda _, x: normal.Normal(loc=x, scale=level_scale), + observation_fn=lambda _, x: normal.Normal(loc=x, scale=noise_scale), + num_particles=4, + seed=test_util.test_seed()) + return tf.reduce_sum(lps) + + _, grads = gradient.value_and_gradient(marginal_log_likelihood, 1.0, 1.0) + self.assertAllNotNone(grads) + self.assertAllAssertsNested(self.assertNotAllZero, grads) + def test_smc_squared_rejuvenation_parameters(self): def particle_dynamics(params, _, previous_state): reshaped_params = tf.reshape(params, @@ -104,6 +798,148 @@ def rejuvenation_criterion(step, state): self.assertAllTrue(mask_parameters) + def test_smc_squared_can_step_dynamics_faster_than_observations(self): + initial_state_prior = jdn.JointDistributionNamed({ + 'position': deterministic.Deterministic([1.]), + 'velocity': deterministic.Deterministic([0.]) + }) + + # Use 100 steps between observations to integrate a simple harmonic + # oscillator. + dt = 0.01 + def simple_harmonic_motion_transition_fn(_, state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=state['position'] + dt * state['velocity'], + scale=dt * 0.01), + 'velocity': + normal.Normal( + loc=state['velocity'] - dt * state['position'], + scale=dt * 0.01) + }) + + def observe_position(_, state): + return normal.Normal(loc=state['position'], scale=0.01) + + particles, lps = self.evaluate(particle_filter.smc_squared( + observations=tf.convert_to_tensor( + [tf.math.cos(0.), tf.math.cos(1.)]), + inner_initial_state_prior=lambda _, params: initial_state_prior, + initial_parameter_prior=deterministic.Deterministic(0.), + num_outer_particles=1, + inner_transition_fn=lambda params: + simple_harmonic_motion_transition_fn, + inner_observation_fn=lambda params: observe_position, + num_inner_particles=1024, + outer_trace_fn=lambda s, r: ( + s.particles[1].particles, + s.particles[3] + ), + num_transitions_per_observation=100, + seed=test_util.test_seed()) + ) + + self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, + 1, + 1024])) + + self.assertAllClose(tf.transpose(np.mean(particles['position'], axis=-1)), + tf.reshape(tf.math.cos(dt * np.arange(102)), [1, -1]), + atol=0.04) + + self.assertAllEqual(ps.shape(lps), [102, 1]) + self.assertGreater(lps[1][0], 1.) + self.assertGreater(lps[-1][0], 3.) + + def test_smc_squared_custom_outer_trace_fn(self): + def trace_fn(state, _): + # Traces the mean and stddev of the particle population at each step. + weights = tf.exp(state[0][1].log_weights[0]) + mean = tf.reduce_sum(weights * state[0][1].particles[0], axis=0) + variance = tf.reduce_sum( + weights * (state[0][1].particles[0] - mean[tf.newaxis, ...]) ** 2) + return {'mean': mean, + 'stddev': tf.sqrt(variance), + # In real usage we would likely not track the particles and + # weights. We keep them here just so we can double-check the + # stats, below. + 'particles': state[0][1].particles[0], + 'weights': weights} + + results = self.evaluate(particle_filter.smc_squared( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + inner_initial_state_prior=lambda _, params: normal.Normal([0.], 1.), + initial_parameter_prior=deterministic.Deterministic(0.), + inner_transition_fn=lambda params: (lambda _, state: + normal.Normal(state, 1.)), + inner_observation_fn=lambda params: (lambda _, state: + normal.Normal(state, 1.)), + num_inner_particles=1024, + num_outer_particles=1, + outer_trace_fn=trace_fn, + seed=test_util.test_seed()) + ) + + # Verify that posterior means are increasing. + self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) + + # Check that our traced means and scales match values computed + # by averaging over particles after the fact. + all_means = self.evaluate(tf.reduce_sum( + results['weights'] * results['particles'], axis=1)) + all_variances = self.evaluate( + tf.reduce_sum( + results['weights'] * + (results['particles'] - all_means[..., tf.newaxis])**2, + axis=1)) + self.assertAllClose(results['mean'], all_means) + self.assertAllClose(results['stddev'], np.sqrt(all_variances)) + + def test_smc_squared_indices_to_trace(self): + num_outer_particles = 7 + num_inner_particles = 13 + + def rejuvenation_criterion(step, state): + # Rejuvenation every 3 steps + cond = tf.logical_and( + tf.equal(tf.math.mod(step, tf.constant(3)), tf.constant(0)), + tf.not_equal(state.extra[0], tf.constant(0)) + ) + return tf.cond(cond, lambda: tf.constant(True), + lambda: tf.constant(False)) + + (parameters, weight_parameters, + inner_particles, inner_log_weights, lp) = self.evaluate( + particle_filter.smc_squared( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_parameter_prior=deterministic.Deterministic(0.), + inner_initial_state_prior=lambda _, params: normal.Normal( + [0.] * num_outer_particles, 1. + ), + inner_transition_fn=lambda params: + (lambda _, state: normal.Normal(state, 10.)), + inner_observation_fn=lambda params: + (lambda _, state: normal.Normal(state, 0.1)), + num_inner_particles=num_inner_particles, + num_outer_particles=num_outer_particles, + outer_rejuvenation_criterion_fn=rejuvenation_criterion, + outer_trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda + s.particles[0], + s.log_weights, + s.particles[1].particles, + s.particles[1].log_weights, + r.accumulated_log_marginal_likelihood), + seed=test_util.test_seed()) + ) + + # TODO: smc_squared at the moment starts his run with an empty step + self.assertAllEqual(ps.shape(parameters), [6, 7]) + self.assertAllEqual(ps.shape(weight_parameters), [6, 7]) + self.assertAllEqual(ps.shape(inner_particles), [6, 7, 13]) + self.assertAllEqual(ps.shape(inner_log_weights), [6, 7, 13]) + self.assertAllEqual(ps.shape(lp), [6]) + # TODO(b/186068104): add tests with dynamic shapes. class ParticleFilterTestFloat32(_ParticleFilterTest): From ee5d2e8975cafa56cc91e8db0769f8025b391187 Mon Sep 17 00:00:00 2001 From: slamitza Date: Sun, 21 Jan 2024 17:51:11 +0100 Subject: [PATCH 14/24] fixed one test --- .../python/experimental/mcmc/particle_filter_test.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 7efbf9a286..48839eb2e1 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -746,7 +746,6 @@ def particle_dynamics(params, _, previous_state): normal.Normal(previous_state + broadcasted_params + 1, 0.1), reinterpreted_batch_ndims=1 ) - return reshaped_dist def rejuvenation_criterion(step, state): @@ -758,14 +757,14 @@ def rejuvenation_criterion(step, state): return tf.cond(cond, lambda: tf.constant(True), lambda: tf.constant(False)) - observations = tf.stack([tf.range(30, dtype=tf.float32), - tf.range(30, dtype=tf.float32)], axis=1) + observations = tf.stack([tf.range(15, dtype=tf.float32), + tf.range(15, dtype=tf.float32)], axis=1) num_outer_particles = 3 - num_inner_particles = 7 + num_inner_particles = 5 loc = tf.broadcast_to([0., 0.], [num_outer_particles, 2]) - scale_diag = tf.broadcast_to([0.05, 0.05], [num_outer_particles, 2]) + scale_diag = tf.broadcast_to([0.01, 0.01], [num_outer_particles, 2]) params, _ = self.evaluate(particle_filter.smc_squared( observations=observations, @@ -773,7 +772,7 @@ def rejuvenation_criterion(step, state): mvn_diag.MultivariateNormalDiag( loc=loc, scale_diag=scale_diag ), - initial_parameter_prior=normal.Normal(3., 1.), + initial_parameter_prior=normal.Normal(5., 0.5), num_outer_particles=num_outer_particles, num_inner_particles=num_inner_particles, outer_rejuvenation_criterion_fn=rejuvenation_criterion, From 87d2d2404cda9c4efa04282a645098e228552d61 Mon Sep 17 00:00:00 2001 From: slamitza Date: Mon, 29 Jan 2024 17:48:40 +0100 Subject: [PATCH 15/24] particles dim fix --- .../python/experimental/mcmc/particle_filter.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index c5060747ee..9c83fbbbe4 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -1005,6 +1005,7 @@ def _particle_filter_initial_weighted_particles(observations, # initial extra for particle filter extra = tf.constant(0) + # initial_state is [3, 1000, 2] perche' particles_dim = 1 # Return particles weighted by the initial observation. return smc_kernel.WeightedParticles( particles=initial_state, @@ -1103,14 +1104,12 @@ def _compute_observation_log_weights(step, observation_idx = step // num_transitions_per_observation observation = tf.nest.map_structure( lambda x, step=step: tf.gather(x, observation_idx), observations) - - if particles_dim != 1: - observation = tf.nest.map_structure( - lambda x: tf.expand_dims(x, axis=particles_dim), observation - ) + if particles_dim != 0: + observation = tf.nest.map_structure( + lambda x: tf.expand_dims(x, axis=particles_dim), observation + ) log_weights = observation_fn(step, particles).log_prob(observation) - return tf.where(step_has_observation, log_weights, tf.zeros_like(log_weights)) From 103fa3fb0ecdcbd6a2e5101e5f012e4b799ef65f Mon Sep 17 00:00:00 2001 From: slamitza Date: Mon, 29 Jan 2024 17:55:03 +0100 Subject: [PATCH 16/24] pylint --- .../python/experimental/mcmc/particle_filter.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 9c83fbbbe4..34ac008615 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -1105,9 +1105,9 @@ def _compute_observation_log_weights(step, observation = tf.nest.map_structure( lambda x, step=step: tf.gather(x, observation_idx), observations) if particles_dim != 0: - observation = tf.nest.map_structure( - lambda x: tf.expand_dims(x, axis=particles_dim), observation - ) + observation = tf.nest.map_structure( + lambda x: tf.expand_dims(x, axis=particles_dim), observation + ) log_weights = observation_fn(step, particles).log_prob(observation) return tf.where(step_has_observation, From 26975eaadc4d1c9fd8056f117224e6a2bfd41bb3 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 6 Feb 2024 02:02:45 +0100 Subject: [PATCH 17/24] fixes --- .../python/experimental/mcmc/annotations.h5 | Bin 0 -> 4030776 bytes .../experimental/mcmc/particle_filter.py | 4 -- .../experimental/mcmc/particle_filter_test.py | 38 +++++------------- 3 files changed, 9 insertions(+), 33 deletions(-) create mode 100644 tensorflow_probability/python/experimental/mcmc/annotations.h5 diff --git a/tensorflow_probability/python/experimental/mcmc/annotations.h5 b/tensorflow_probability/python/experimental/mcmc/annotations.h5 new file mode 100644 index 0000000000000000000000000000000000000000..c882fd1fd3594716e1605f54d0bd2764254b6fcb GIT binary patch literal 4030776 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

L>8`$cS`4iJp<$%ooB%t3~x@x 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 z zHvzr|@S6c&t8sOF*8zSD;Ohau74X|MuJ&t###MQ42Ye&on*iSo_!hwL0DLRpcLKf* z@a=%#1^C^7@6b8b!+SKY>ean~@6@=8|9yb(0(>{%djP*5@CN{Y5b%cpe^}=fpGR~~ z?Q}2Tj{^P};Qx=k>i~?Z=++lRN~EcD6qY7Ilch;jkPxbL2%sQ@O|nT=l5E)B5Q>T@ zs1!jFQ7nKB6tRE^3L*$9VnIL=K`DYFsE7qb5#gOPbLQ^dn?1SrLTvw&_dk<-^Uaw) zbLPyMxvw+$S_WUo;BPSadNWSt+Q8s%GWc62T#d)K8GNG&SN-H2Gfw&0WX7qU-!P%{cLonsMU) zV8)66qZuduPiCC>KbvvlA2Z{`KW@f}|BD$X{s{*EmBD{w@RJPwJA{!jH#jKPaD_<0Oo!i-aWp3mSV8N3vOmp0>+|1u07!{8T~amr^|1~13pZ@}eG zccpr>vVyL3f4~)jP=Bh+@Wm6CcMN<04!#zZ6LO=7xG3`Q`#G-EOkb`GzkBP2Z*1iS zyasv3FQ}O1#gn{2hWx?D<8t7G5^1h9?`WR~KU#{p#Jrt-N^VL=6av!1dI;A*z?&Pc z0J?${nbXD;zl9;6h1X+LFxzYp2fgscw6tI&SBf{3@Ab-(q{Fw^vRp`qE|HzeF8b~g)NzIZkrNB4H z^mR<; z5CL+Mcg4mxZPdtZqb;*NBfX-Y)le#|Inx6kSa7gW&b?7PP?mErxssU~H@SG_MMgC9<^ek1xf zHAK)G3S~j$Tu&gR8dH7)&L!0lB{e1B%g78Vg$6V${8F1seFjhKM(KDB<>LGQIi?y6 z!CpdsfUi5H+s}~hS(OjJc*mAb)2^j-QVr=8LHVMkYA79izmL-GVMzC^$|tvhu2f%S zyY(db!wm9^pj?ru8A{ZP(#tfYm+DUw>Mo4z5O#a1zl(f^#^$0vC6{38;n45JbmMA* zLqI4EFh__FGJ8U>3-r4RMs@e5bQ>GewW>!c29Z>ndkBFE_4Xt8lH z?rq}*J?M6I7p8|Gs5P+8WO)J^-Z&So7`SYRSv99&$mNO2@cUs_giVCZa1!O$IKO!U zsqi89vAM7w1v5R+Q7MB^^2G2rW_6`qpIu~5Kz9MlfETtdP-dvKl(Dd=_V8rECJ*%3 zEWk14ft0Sgf0zWTpkb>GwS}s*ag!Ykc|B=kAtBDJeXx5^I z==Jie)~?vPNDp{?S;4wuuZ~F!rSz_$^OOX%HG&O59}?*>t;CDT!=-;?)9o4z1_IcM zhzzKCM%9s+gyb{=;}&Ke9341?sQJmT8l^*)!4v^1l+c>8V1&D3@xPvcD+@9bikG$m zFp$B30&|!z8;2_vB*l|DG9w^1%Rw~q$UKTlfdm3zIrQgOt+30|q{JNN61fHOP~d znwN!5M|&ky*3-Nxc^P0{&bSJ7Bb=#|{i!h+0`-vs5%oG$^O)*>SRuoyK8$(^sBhlU zYSGYR%N9_(1ZCM~D#e{la$6b3f6$i!_FyzEIunW3!n%?`udrItnu}XN?=Mrc-n#wRJ!eEbp z+M|mkM28XGN%K(tl%Ckv>lsNVEWID;P09P?9*vzYH_ymGi=F^mVdn- zRQ`3qnEy;$@}uQn7gwl!AIX=!U7ov%eM|W8qd+%C>#t~jh;$>xzfQFuj3u>Ji4G<@ z7ffPc8h3e81O6b+@#3TqS8t(`8+C?oVoH$(n`HK&Mk6Vm-iCB=r3=7vinFKKW9S-`^k~mx%a?{D;8iCbj+WDg?7|AQb1y_NApkK5%6=%vj;G531noDCuB5 z6?Hl}l#Wq9gNZjUi!_rWE|%t}^pXtqCr@sQwq&_c(#iK_zzI>&rZbAtnMvgtOzVnA zt}1B4NQ0@#q%Xr(FWlm=KEv^i+;OG(VFQeZ6uMc%gKIzR4Po^UOEM_WV)4RN9!HBo zC=I*-<7E*lSng>ER=LV*&76I6$B7Xx+#rIx8;p`8~rYnTVIsN(b; zatB%}7}DU>Rv40%i6o-Fq`HLtO{EXEBV0wXZYUF=z>91P1sCK)Ho`)w9Y+6Gf7E_w zSAY3bf8z}O+I$$2i#li2O-eH8Jg^%Od!v9aB~PrRaHxmo1YBI9J;Nsu_!mwl#$l7| z&&3S~Zb4-R#!!C7Q+^WQXhuH`^}vxVaPWwd;#!`N6Hq?*d{P{1>(KyOaFUn8Pv#FgzN<5zAt8>SJ;j?!8W##0%UD{0~ ze;wsNK{!{4&1=}rrdg-R9_6%|bG%+~Vu0=jmPOUp@E6QRX|Qz$S17QWq=MEH^ree4 z0+@w_HvyK=X!M|-ik&IVpND&0;RO=zv_bdHR378_A^lSrkxiYD#!K|>8TLg8JDUZw ze5ue=ZRA8&=q;3=o2Y(qJsAzA1GHQ?&JaxL$~)q0b2NeS)6tM0++W}#2S$?&eSvg| zqZwF#Vd;c@qTAK2SFbo%|K7dhTmw2@Czj3rU3w2lpn2j}l3T{GZc6CZ@Md{(@fS3=kwWyFXaPtJ%Dx`w7~QKAenY2a6a`de7(Q#Mj8h9Ub@&l9PB_R-(n z;RG0t!%!DM?-Z+gQ7&QVkOA^xCHH{pE|Dr)PuW3m5X8VQ>BjpPb74E zk^|&+st%kv1A(z}RPndRlSXaZqVta+`_qh+c!uMNtZW`l?F zrrY4P0p8ujdmMhpe_}A0&O2bXg6;(NYv@*CYdEcgj5R#QnKc|H4#pZD6U`c~X)`F_ z_sMLFe1}ataLgHiJi~;7j)|Z*s-22%JR*~!v_yJRz&ryzRe0ybfX8o^FO-+&g~2p7 z7u|SZ+`yT!-0$Riz!{YcGBApQ;0y`pFu_be_@$tWGAuoCA_+6Q94|8|pY4q6iSU~> z+3ls>QE8!2<51a!ndf7inCGGSBFyu#s4u{T8t00E8o}S>Ca?|K?nPiGoCm>qGlt@? zjSLojxnnZe^kZUr`^BLUbdePFCdRpkDi|j(nu_Q^z#JW>Xx!|H*$LKYI7t9Awshjb z$l>!0QKR=zeXcXKyKF>LeTL)ds(s;=8iNPaXIZJnlkQ-Q+|wErK5-_3r4bbj)3T}y z_q|k}tN)e#;~&>Ov{_W2Ph0g5eI^K>9$Iyj80yn{N0GV%Rsx04x@+hT;a&h?vUfp0 z5S={Y6zx9BcSA$ItinYo42>tPxKI`{ zZT~$pj4a5U|N2Rhu0sz{eZFGVPyV!Z9W^zYcBIw-o8Ryn2&-sJL>Co7G(X|$FQd92 zq;jZtK@(iUp$tr~0k~u!&CPIDDK-pZ@8t^#e-e-s-o#7AP>CwuH5Tdv z{1%7D*RYdO0kJvWQOE$LBLH4)7FAl4W75W28By<<=XhK9jiF)FlBrLY-9KMvTOL&HN}Kq-dmlvxr7v1tKc zI$YI!i0W@LjSFmYXy3^GfcA+(dzdU8PNmol;S>OY9Ij&4mt>EL<^0jDUU+ zi*0L6E!?t=ATJM7zUmpqE9k@_Ke!ZS>kGdpUwFQV3X}T#BNQ)4@e)A81)n205X<%i zM=GNVR+8HHVz-coTzI5{e;Ezasc@JBHUSTG`Yd59rY4b&$i5U&Am|@q1DVXnqm+*a z{^Wdw^1%xzoVY92iJ=j^+U8L{=bS@6v+*<++7bsZQ(fnpO>I8qQ=KC_Xjh#2BH9!T z7%*z6A;Cz2ckQr8;FK#{Ptz7qdU=NaXSORw_7q44T*R~dFgU@g9C7vm=4X`ytfe@Y zH^U8PJ2Ad>Lyp+?;^c_6DURzfFON|^zB1$^Jr6wE9=Oa2|5ZNjqBjd22R3(M zOS)(rdpVR18S8atxZ`YOvXNA(!{?rGdYYCe>QkJt(!2p_r+MMvACD!~RT^|7gQZaJ z{G=n6-Ug3Txkowgmj&7zS4B_GSa6Wc$$;H1uD;@CvEf1_++0Vae}qX(r2GWsW0muK zpt+gt2eOuRb8!JbFhjRA8IGY{g{P+rZU51kI@sv^#x97!2?RHYW_Sp%7y`?&PA{RgqaiUFyLMQJ>IQ7Md=Q; zlWzEMUSEKNsR3Ar!Q2k_&%(#g>F84{`gZs%Miz7-rI#F$o^hn8LK+jpW1+fGS#|M9 zQ1>AwPn#4kgop*Ac|5onW`mhK6P8N!19WSPD82fWUJ|S$Vf$8ugjv$eua1MVXXxd8Cle_{BXG(TO7_Zgn9_^@tjQD5r2ltq4ZKL|G#mbN`=zF zbd7fh;ZP9j7p_mBUSRNVfUfTu?T2%iJZzZg)0ei`)c>$Puw4r_shVSjuPS;x`13#u z#kLVz31$ce9vojmwhYsWT2N?wJxl2s-z}i)=s4Fwvi=lkzR^%3?6n@aNiSaEK&1vd z;u4DAk^13av;QibLkOR^@Zjqy-OiKXEf16e=Q1RB0G_JLVW>Sva&^B->~rE>5#t;z z7b-e>fa!x2V;da^WeHGrU(@k2lrYbeZ7jrRWLXf zalb(682y(q0-SAR8{PydIFDmp=mp9Og@Va=9D-UoX2bm=$-T-j{(%6-X@hj?G=-N- zR`^nq*ET|)AB^ka%sLRKEhBjy4f0SF^v3Y}8>(Zg_akufk&_nqVFbL%5T1;YU>l&; zp_fSR-@U#sr+oa~dfv;FkJ*NL{-@2Kn6(v@&lE#GbyXBx6j0@fa@AN;;0TsE@-rq;i;(39bB_(tU-}RqxW6_8mh1fe9mt+zM$5gL7$l zs|{zF0>y-D90iK0raV<_SFSHNe49kmUZs3AFx0yT9DM`v&6~j#21oC3_=M9urj`t= zcEC3VXM|PJ>J7)QzC8dXPd_9y^O-9X=w$j2OzFU?fR zbm=2m+(?x+e$+EF{BW5{DtWlwM>SX6Yl*PCQ1P_asC>hzJq+t5Y=cqt*Y$K1ODFrf z-b5U6;0{?$P0hm-weW>4T(1q9o2IRy^o)MZ=69uJBEhhB<~S8id!5o5X6R?a58t$T z5__t1FP65J(lg$(m*w(g!(BD`b^!L*v#&Z)l692M)v8=V2MJrkz#Iq88^SXXd~Mau zC87R>;PokVx{;HWygsYFLGrqjyac*Dd{z>%9%(P9`qz4rulp^V^9vpxISz8Xf#j+C z{!#MlL}Gy)ze)0&Qhjs^UmqlO1C6UtufkvllRwllDAMG`9FUL3LEN`U4*E{uzk+gL z6IO_rw<-Q|8C~m4S0LdE2GntiCj=Uw*{@aC_T&uG6|AN~aFl}>o{`dZKq!j30v#L+ z9`#`0MLkY9q{TNC>SUipx2vz=y^CO8I`|d(a5Y1&*gq>*1TXrvxxCpvND3w^ocomH ztmpz8sT@lSDMt`CW$sP~N$~Hf@lBM^2~^*S`V~m3 zS-aUQqAu_*Au*Y;ei5`5a&vab0vw5 zL0560B}~m=G*+qMCK{xHF+*Gk!9f6uZ4fl!TyXJhv^-Y>O)0I+v$+M%OU?Why2fpuk2V!Fx#lr7!A$=#E;lQ7ezLQSyC8d8&)bHKiLte z9VB_i^9RGZCAbZNE+qEFpfp8XCxC-7RISwgIj^*keogY!J1X|Ad@;8gx!(RR(?72p3CvUbD*ObHw9+-#q z_;Bf}lV`LKHo4N)fJdw1C>Ea?fnzj$5>Wg*O!-7#DEyaXtZHfzNF2RC%lh^KP01z_~48O7bW0IIGE^lyMc&>K7DXfgL*HtM10dGmuLAiV*3XCDIPHYVjO>Z z4A?5-@vdYB+|U7&25RrZ5f2n(I)v6OB3IQCQ;Vl=tLg}VXtorrFrc3NNz@WA%W2i+7N%R$#G?4w5= zrk9}1ZF;wJmfjBz(@Q+Z^nP@hUe|L>?KT~?fcQB0oMV%6%ffHvHIXkJ| zlj9u|0t;~CfzpzNwpqA#iT&aj$sJ;tFAB)TIUY_-z%CCLVR6>OGkZKs!Hv2v2cF*& zj#YT@LW^sT7p%`I@G=KFYzPAxO_aweJ>&W(MS=y#cnTl(dyoMn*u1{{Lh_8~?@FHW z6yByd?F7lY#84k_-;)LxWx`ORUx^?29xc9Ur>a6X^P%#gdnPCmzfpYSJNrg0MPK|3 zxAmmiR{8;oV=Uo8flu$kp@{VH!xn?XJG$OSt`^ekgUIS|5SbBP6xfR4RKepqPkQOH z5l{kLn;q@*15=Ml?R}EU_r9S%BfRp%F^m}&hUtGp34f>Zc?{(fo_(NlqI}&@-Z#^;uNn`t6ruG)#?F%&y28*dQR7LAgVaie@mjWQ zF^aF=V@`sO6E(iv6dK~o1dH2^FE@1s;-6KtFu`FTQvp zJ;A6$pHK0|8|qEI_kunVcm_#d=Fq#2ba9axh}BPv!AlT6LIlsTiY^4>DTX#oqBlV6 zi_6ETb<=7kt=?V5xuU2OnW2*Zu>6$zhvldAKP*3G{$crv`G@7_f`3?k%KpRhQ;zbZ z^hnc1be!=~wGqp5FcYqFxr}p;KedruyFD2+pOq(hN-yk%SE3vUsX+0Se@8FzPO=jT zaw4rra@0Gv0}4K2=O9;_c3~0M(?#c4PZt+aJyj~=da7K+^;G2?>#1rH)l;=1uBYln zTu(L5v7TxcQ9WH!#PxJ3$y5F^s2A#{U~vD)Lw75=@s%o(uvOwkQW2CagJACm4{pj+ zb~t?pRY~qdXuB>iXpypPkPfbuxXBadVIkeE)iTvH=7-*2bB&6Z7Ej#G=*qUf^F@afSt55lRn96Ii_uI=KUT*=< z#VFa-^9MJY@lhT8v>^exnrHnB&WeBEJPPn%uNiljerjFRXT*<+mZ__ZISJNy7!|0^7=PXB##H(OTLE zj@P)fMimuw)y12Lb@A>dHoa~G21{K$UK``FIC$ROK<&-ndI-tViYN1W|L|FG}pB@=2!>GUq1% ze~+_DqCC`Vz5v?`i%h!rt>6jIQExpfhg zqp(EUko;^zzZK_*a37yh`W zek?A{6{vU62^@XC4whD!0y;RClNe1-f^#`tqsi&$TuxFnIf*1k-Sg@14Z_!~g(X03 zt5GA7Pf7?yMqJ+zcjRzp>|`&#y!0WIc2Jn$z9rtV!}y);#g~yV{d9PB2Fx-leiw?b zzAw(@U&aywz-TVxW7q0R@mt{^@DKF>gT={U!xDyddCMqW#DyHa^sxz5x*tp~|f{Sn)vfZt2>#Dq^mPm14# z@|A#E9e5d`hk$vbj|+_0PK#Rxu-BHWO@1am{UYviQvh_-UL;rfJ&mMma|Wk>6sON7 zq(O>DMnE#YCKLWHrZ`9sjK%)no8+o{lDb@&h~x_;-Z7cryCJMy!n$BO{*m{iVctZm zfq2p+;-dxFNg;j84!r7wRx{Yv$aikwSts$RAS5R4!;3@hs2T0^CzZeNzoh*A{-pBv z|Cf}1z@Jq9q<=~I2U0%O`)M8VwkmvA1r(1kg48rJ`^et7`voTk#ac^E=w?x`{7xlco!NX@I5IwA{Zkd zJrcHecy%z8iSy22lAB5Mq>?MY%clzuL2}|Vig0*=pSB=<9PV$%DHEqK!vl>T0|I3q zKCCDn&@i~;3rjCPNqZfoYxFl3<)JS=%QE3JBk)XU6anzqsrUw&dU6PDl%_oDW*;o) z^_1QqQ#o-_!JMBylo>O6gL`B1jHk9P5epfVd<<$@O@@V*W5qsmq)+N(T~p1)DR$(bSN)?@A`ph3Wr7rjsgAY>F!~a zuF(%TY?qO>f{(PM#nCftSYi5Q^X4X5-b$v=hO z=Bz)8a_XN`Fr}jG@2GfUvr_#kIC>pmR+1@S{S5hv@?1T9G|2dv61*|y&lOK@!H0xY zn#S>K?6N}g2uf!%rDJ%{MxNGXf|84mXv&EJEn?wUSwKsYmPL3-6`B$@^6E`Ecr_R1 z0T{vfRtEadvWH`sqh!1elZ+2qixUHE8V}{mcn=2L9O27C@GLJl14D8J62qKPvuY_( z>d)}8a&a~ieh=1^ZJ67nrB+Wue~*$1CVbYh%2K1`ll+R!$-z2-omD7ly8mn%#qUk^ zkK@}MQGOFiXsTiW==F(y+zCB<(qw@%GCcJs_HHngVRS=fcuBtco|{R&_~bo3BYIW| zq?7#E==sNUTG?Z8cERG)#Fjzvh8y1(Am1b$D5g3HKcAvsse*@Og!1Z+>5MjcTzdne zdn;G;eDwVnSNd@y2J;Jr7nV2lgBNcb$7ot6)puG% zeH-rw{HZmL38^|4iT?knbxre8y`S~?4ts=09p5*S{Ieh5g(onQFoD~+ns56w?# z^77VTlvFK0Wzx)KL^qzh6f2;3P&Y z)AVfte<&bTl>qUL`WTZxSkd4q`(QYas2T(*zOvIMQF{6K;Q-^cEqtgAHKp*k4TMS; zqWG$wRs39d7Mv1P>$|8M=>`oI(6@i*LEZZd93X1Kt>uxN?xe5u!gnmigGR6z>x(SB z^qd9vov|Wm59*DP`?HZ?Ocag5-dCIRG$6VG!FLX*>cV+4XTQ)yZYKHoElK=` zbS#>5*HL`*l*{-_kXYlfs;}ue3lsM58orr zicv{`nGQ=JXEQZVhTnWZUq;9SP-67L$(=~FG=~Zflp!NoRb8?u^Dwt|JJpBLZbQ#L zcs=}48xnw@Q5eKL;-hD{N{#y zsmQ_^OwC`oT7~O8)$b3$2{`mPvJBiwa@4(>BxpsFW1Iyoq-fe*B&U}lKctjUMp=)}iQ>ViJ#wf$WMuO*x%H^1ZBlxZfBLH-O~^SiorM zPNj5>{mpi{@PYO4=nofA^*dM~OwFN9qx7TOY86km$dxZf+PZP)4en_0Sr?e;kOj^F5o<;Kv}!TA_8*BK;Ny^my9u6X4U zCNx*7FOZst9?jT0+}cc%r`}D)@nU$onw&JDsNz)$oKZy0r~&Q1hvN4(wC}mD8~X5u ziQ!(7ug;}0e|mR|SU3iB?}U$@W#GD@2B9!W;zeQfArG5CLGCP)YyAEUN;r7t`ENC~-W1%C< z&pjJmR-(-HG0+pK3#jZXL+l(%FU8RQ1;_yNuF^%1ID^zrA0zq3@A?!RhkDHwI{J)D8~E2pENzcdI>vpivvC)h z^(RQ)K*M-L#W%b%d(zsvy1|J=KUZwiMscp5{(ShY8T>X-X}GS~=J4kLsRX-XuY|`) z08QamgLaH$BoiS{I=qxMC*ehSBQu*}K@!>p7-yr(FhaXt{W2y-XRlm#aeNN^#= z)9p*pZ&W;eevcA!5yjK(ONMxqo~l4Bmi9F9YvCX857);6=@?=>Lww`8ZCL*kG2vuJ zY#j8>in>K8bX=utqAmp2DZ{I=TYRckS6uJ_B@PbLa^i*e6&@LhGaPZ=1T7aaiZyL9 zW8be zY9V}q(i?1OpK#MUx08s&1F8(0#zvhPOV&7!mtAq2a*e9OxE?=ejtFgJw<&(n};iy4^0S zW>r8sR>g9X)8A0PVsy#vje7A@G!MLc?@Gz{#79bZ#rB7+$HnO05a{iJK009k0`D}c z@0X*bqXr;kOua{X&grb6bcP$sgQf{zPQ0klNRx87+n;UOR#JL5FzH1YTZFw12ie)C zrfIKGdfg1^h5J=uazXVApl=|$5RerdKGBL6-b`P}{c6$3)jvtDO0yZ;;%xwWF@5_~&Xz-9U1T`^K}eqrORU)Ov&KL8P7##h&TFj`|kK|Euk& zZ&SKPy~B37BJ7v)v`-j{RsV`&N8L#2{atp{ccRpD!TqId%c8WSZlZL18|I~m{bm8( z3Fo3HHY_~6ls2sJArDM0?~;6@U4we0X~_f~MHdm?yqKHnJ(6d9AD0<7Hl%6V`y_9K zq5P5k%(z>@jYgF5RAA2*PTI6#aeqMRWwPl-+lQTdx|=Cob^c#)o;bI1s-dOUlMg99 z-tqX^ikf)a`zljt-Nk7mQL)2=)?bZc8lj#^)_zHX#< zo9s!F+NY|IZ6q(v(C+G(8m!hv12KNtx{w@_R;x0jys7aC>v*wgQ6VDfk0@QEJxLMh zY87-*Jh4EJR9%tuWWg2~j{SU~8bws`$0X0#u0pRj)ScY?_j1({;=zd13C}_Ykk4)JxpHMoLshxV~ zWv4(^LA)!0jGSVtx`TKZ6R$rW$`@d1+NZp{M5DZ&oV*B@rtRY8bv4TSjFT6^(zMTc zc}YfjyE%CgEKS=(ylPSFPnltZ?!CmT5~cpaEKS?T%Y&K;Gr!>EMX)q&KQ9kzCM@p& zCoh7fX{7Rd*Z8e%kcOIQ)@C;tML5@ zil^+~svQcCrD;FdOV3oxn)aie^a{k%w4dyyXR38g``J!<1!BSX6YQmDY6VR@ZYRA0 zu{7-$idVa^@nf(DpCJCFrg_NF(gwDs{c0^A-dCW5HCQQrvyvad*0ht>^5NZuu>9Yx z6uzV)6Tb(UV&JeR+8eSP&=UBTW}u=`y2AK z6-t-EnTIZ}g3^TtLN=XwAgxlA?odOza)T)D^^wXg_bB2j2P#{rKo+tc3mayI4-u9?L^te|XFiuD;2equ8bK zJ|lE6Y$xc?Y2I{ky%XwN^gBF-P@OPr;RKg!Z;Z@{aZg8E6pSeQu-dj60%WG+Lw@o| zgx!zWqy*8&5o3m}3gJ;lo{6H{db7aQ7J5WDVYu5TMYxMoy^f)uSTav4e6+}uI+pGY zz%e~Mq8<_-EfP2PVteAVM?tu&2pPa9yAW;UlJ^(ou1dP+>PMvpyHNDqm|OLeC4X-| z;?U(P2<|K5vc0$^Ei#Pb31$K5+zWq*DMU^&a(q$u)r|fy;=1N2!;8%4aN2Y})ypD7 z{a}a1E2^}A#sj-7UphRs3|{)4)PO&z+tf`iPcehhNjzJ09>EUx4D<~)z9j1l=&vXg z?3yu#nUE5M{)qm?-V7WlP&Fkfzt1?!H*;X={tI(1GhB-Dt^7%Ge1u1}9MH7lgomMS zPS9_^!q|h`w93!{{-32uZuE1t2)UNhVyN!Hoy}e5Pm&8)a>c)*%rBh!xGx~NY4j88 z*U+EkB%321FpsfImv2VV2D`g%l=L2 zmOHm}p~|9_cQjjG2odEiPw5)ZO|X}VWq_tLv7i;K>$WkX`sJesIPp;}N3UU#nx<8t z^o;h_@VJ4Y0EDDP@`9g_N$*-xb^k;6Ysdu6uaV#dK*=kVzSmHl&Cv#ziEz zp`lz6>jjNzwffLCWlh-?8(GBDuc4?5&cv@oKc}1HOMO}sX@ z%|l#8;ROhE7gx#)E*9jIB6^OpuRd< z&UK9Ve6LiwB9=IjQ)RC#M|vpsQ_-G5_)Y;BwQ+GiE6qLzbuD;ULEYXo)}ee!9J;)G zNgS4Lk=9tVZW^Q8?@1Bs9go*SsfMskaMVEdKyx*!0^tFxyisFFfE;p4BM9>(E-NYG zfS@Y1r@B9Z^<(@T1gxR*OLkaMvXu)fxTfsLf9n28_Ega?t5g0X(<|crlOeqtl-}Ps zPUY^AHW}t|T9fkkj~l0ng^$xqDBpk4IHeu9c=7*VF;11e^IXTNGCipChrh8Oi)XC4 z^+wr)|8f1eYvKLa_1E@eS%?3k^`;Kh&$;$vD!5jcE{dRG40<-WmDFjnkyU$Emu%@)xZ)vJU@6<5cZ`&UKtp!L``GVw|ePAT6~I z`%}lMAwBhdV`F-Tm(axfcUx@ zV~(^Nq>iL7FNyc^iY_%xi=+0tiGJcf!B9T2g(@^X_>wlb--nMX!Tkp<3Gg7Kv=ZS5 zuu!PY@+*JfzpB2;e4_nT_1*X%R^RGAd~wQGJUK!ue`sZAk8kQ0RCVvyj4MBE+Ky{V zuKGTMS-!g0V&*GaCMK$%$5k*SMMvC`Re@0jQ3;YD8EN@J_j)TBnBVI;DZ=^FoUaeb94Tcf3X=?^PCx1=ly0} z&BJDV7?U4$FH7~GBshmfYBIwg!QdVSPhs#>22W#fktql>mn)s&XE1msgZmi#Mg||r z;8_fw&EPow{p{k&3Syg#roYvXeEP*4U!9+u z@v#hl9D|Q%aHS8K<=@QkZ(;BW41OzvPc-51rnNwBGvR9eyPa@zJx*fq$%LE7=N*jv zI~n{g2A{&b!5?7o2N`@W zgFnRJ4>R~94E`wL=5aocaC1ML&)^Ff{4oZ9oN#l0c!F?qex79HJjLJ(8GI3gKh5CJ z5MG>qDt&q}{cX5!p-TfX85lWZf>tN4E{PJe=Wmb$KY=;_<9E4z~FB(_*)GAHiK_u z@OKz|6NA6Y;O{Z``wad8gKuW=4;g$5gKuT}5gq!E3!-SjXnQs{UTSm@z z41R=g^Styu!#~RKe_-$*8T=;(|Czy$G5B!?|AoO%F!-+w{u_gzWboe^{1k)#LAbfy zPc!%#Mvg`T%yNn`cyR_lkHJeY`1uT8lEF(6ZticT8N3XG$1wN>3|^MO)wzy2Kjj&I z1qQFk;1@FZMGSs1gI8kk$_!qG!K*TOH3qNF;58V$CWBwX;FmIZEe5YmIQ`J=!Y+ni zhr#PIcs&NM&)^LRH_y+PF?d4;k7e*igq!vM%L%6+dOcjh;BgEd&){wbZ_ME8{)TxR zH6^|oZ^p=J&hW2f@D>c-lEGUscxwi4!{BWh{3-^&n!(#KczXuFhQT{9cmjiWWbi}= z@5JDp8N3UFcV+Ny4Bnk^`l0vpYZ<%;BZn>>6|m3tV)(ro`F$9EUk2~T;QbkV0D~tn z_&^39#NdM&{5l4|p23GO_)rGFfx(9{xcZKhdEQ7SzIi?z!N~D2cnaa>c{`QitM43{ z^W$as=?tDhIQ`K3b0)+0G5C!PK9a$+2&W%K?V;ocpig~ zX7GH%&HZN#!yn7w;|Ql8dVP*(@S7O?W(L1S2_}7i0>itN!6%yH-)8#zb|&5=2A|B} zcQE*!41O1bPhs$>3_gv)r!)B73_gQ!^SGW#xOslKhr#b<ZAe?G%sz~GND_~Q)z1mWg-c#`2i z#o!AGH}{K0gsXOY+VuA`roR`P{(hGJR6Ur_^S-QiosVi_-hQlhQVJa+}yv`5^nA<>lpkEM*eyR-@xE+GWc5z z{x*YeWbk(wd=rDeOSrjy-edUhGx!G#zL~*4WbiEvzLmkZ5pJHZKO)>*u8$dfJA;2h zxEhB$On-k$e=Atc4?77kr@xEgf5z}XXZX7r{vL+Em*MYY_+K#m{S5yA!~c@uf5q?* zGW@R@{vn2cnBjlJ@V{mF-!c3n4F7wEf0W_>!0>-$_&+iHpBer!hJT#l|HAN3F#KN` z{%;KbB*Xum;h$poe=z*h4F3$n*J$FPV12((jBxY#Eza=IWB4T){`m~QB*QPo@Jlmz z83vDG@Cz8cEQ6P0@bU~^fx#;>_=SX<+vOq#znH-*F?eOd&Fx!-!K*TOH3qLvxHC~7`!2a$1->$2EUxauVC;v29IZO z_3)3mUo~dgEwRF<_vx%gSTMtmV}%8Z7YV~n!(#Ja@sQds~G%h!b_0?*2^0T z_)>#fI|gsh;MXvC2L?}I@Qw_g$l#qAyfcG$VeqaD-i^V#Gx)U(-h;t=GI%cr@6F(S z7`!io_haz>3_gHxd9Gk7k8k0P8)KVT6avnwi3h-^AcI zGx#kGK7qk+W$=j%ej9_|&ft>>H_vmE8T<|gzmvi5BHUb`Qy6?IgHL1d=?s21gU?{_ znGAjp;pY0em*LN1@cS5iHiO?!I5$q`ScE@d5&ob>_*{$dhb+P$wg`X3BK%Q{@Ocz& z?pN~}d;x<$#^8@L_!A8NB!fT2;0qai5raR?;LkAlVg`Sf!Iu!u^|$9J+&m7RXYdyo z{6z*|%HYcw{3QloPPn;Wyi7P(z7-bXD=orbu?T2D)2x?WnVq{>o;uW{aJI^MsgiYT0HhCp&@=Dp{mA1(%W0My{JafOj zfWgZ$csT|yPdL}FDp-V9vc-lEGUscxwi4!{BWh{3-^&n!(#KczeRRcDTkOyn{t} z0)<sbRjJ62Rw+J6&5kA%;e4Iu2c#H6xEW&TL2*1T5e1b*ztrp=EEy8cJ2*2GTe3C`@ zWQ*`SDBL`c+{xf~G58b)pUU9V7<@W|-_77N7z83tG1CpYWk>igqnTzy~MjH~a5 zn{oAha5JvH|82(A_r1-y`u?^VSKrAt>`D#LzFC(YFHv>O{il?j9Ey8P1I5#iW zWYWEa!7pX-S`1#B!Ceeqhr#PIcs&NM&)^Lh{4xe_$l$RI-iX03XYeZ+JdVNR8Qjg_ zjTyWNgEwXHW(?k(!LMZS77X5!!CNtSYX)z_;B6WFDh9ur!P_x-dj`LT!8V2kkUEW)q12p?h*KGY)o28-}v7U9D! z!jmn+M_7b=EW%SL{6gyAaKF%#<_UQca&r73>f;!cYLk~{ljpU`OSj3(Al@ZZj=lkJ zFMpbMP_H50fWKn^KHwaRC{m_FzK{4dqRH>%35<-8u4y+qLjK(r z;WI44XIg~cV-bF@Mffa>@cSrSUq8DK7|^|US64#s-hGl1lKS+gdYw(Y+VuAT_#S;sM=#W3xA^#zV{D&R#A92Wk)FFSKL;if?TlJd-#8c}c z=r#1gQRqO1k@T2N-s3iTPuS!=Nj$ZlMC32Zdh(P*{z8ZRMGpB-JLEs(kiXa=|5=Cp zB@X$|Ipja@kpF^1{)-OzOC9o;Ipn|OkiXm^|7C~#6%P3;9r9ms$bZ!#f0aZ2YKQ#S zh+mJ^)xH5=wkI$)yu5buhP|K%XqJ!WxTa#8E@TL#(U!|L6opaKXeA(W}ZmDf@$bZ)%|2>EN_Z{*-aLC{6 zkpH1W{uYP)tq%Fy9P&S6`Tf1Yye#wfTl?4{f4f8eCl2{L9P&RUzS3WN`vciv*c#_C zP02fL@^;zeeP)yQIq{VK8j-&!`s;3o{5=l&dmZxk5ntVp>FV+2bPD*=Bdwj9_JvK} zew(}lHhEv#|`PCirYdGZBbjZKN zA^%c`{8|qAwH@+Z4*7K)^6NU}*K^3P?~vbs_{u)g(>vOmg%A3GDj#M0rCsKb-_RjH z)*-)X6^eA-}mp{*?~-EgbS&I^?%<$ZzeC z-^L-otwa7*4*6F*hy39V`N1X%6{bhx~Mh{0!o| z3a;;+$E5m#-n7VNKGPxJ=a7G+L;gsI{49t3Y~oj?`stCB8Sr}2y7_|miI4E%bdF7) z-zG2DCU2BYUce?VXpo0AGwht7e3KcKhDM4P{meFOexIOIR+kpGlJ{z8ZRMGpB-JLEs(kiXa=|5=CpB@X$|Ipja@ zkpBYll^z&<7SXg9ZSt1dbg9y<(I1s!iT1o4nOFd9T^z zt+B~_-6n6XP2M`2yfu*v(>CU2)r-Y%QG&usEOx5?XW zlefnvZ?8?>KAXHRZ1VQoAvHhDkV?+gG_Y9hQ;ON-6}QPd&nB;gP2Tx7c_nS~O4;Ow&?fI9o4ku{@+#TnRkq2iVv|?ZCa;=JUUi$i8a8<~ZSpR$$-C4h zua-?-ZJRuoORrA=Ndo4nRGd2MX++S=q@Ws`Tc zO#V zBZH4*@GJ(;X7C&a_cM4dgO4Jdu2pM^oqP7gjuK$-AcKb(JdeRgGk89Ok74k!3_gy* z$20g%41P0%-@@P%82nZSpUB|1G5GC-ml2~`6Yb@~4@uD9lbCpu8T<|ld3Q4L?qcvM z3_g{?r!n|+2EUuZXE69o2ET{F?`7~=41OPj&t~xZ8GH_dKfvG*GWc8ue~7^!COpR2 zpA!1_PqO48D%R-(c|d48DQE-(>K&82oJp-^k$aF!&}0 zf0uA>etM6>&HeO!2LFJ;H#7K$48DcIw=(!P2LFh`KW6al4E_m&?_lsx8GI*$?_%)J z82obv-%U8DzwEIH-)j-R&m#N_3ODzc{S1D9!M|kiuNeFwgMZE7hZy`YgMY)|-!k}j z41R>czi05H4E_Uy|H$A!G5F66evHA76VCOoUo65;ScLy-5&j#6oBP*E2LGMGPcir( z41Suy&oH<~ALcXXvlxRHXYlhFyaa=v&)_8)ycC0%X7Dl$9>d@lFnC!8FUR2J8N336 zS7h)D8T=v!znH-*F?eMLufpI}8N3?d+&HUl5njV0yrxC?B^KeAT7=iK2(N7s?y?B4 zV-a50BD|hOczuiT1{UF$S%f#V2#=+3^Ze0>!7sOvcZEfGoJDxNMYx;7IX$wmMR*g7 z@TL~w%`C#3Q#d!CuB32teYarnmJHsC!CNzU8wPL7;8!vD)ePQ_!P_(VH4NT?!4nv~ zBZDV0cqaz$%-~%ZyeoruWAN?_el3IdVDO%VbN#Cq6R$Ue_hIn94Bn5y`!o0e22Wz} zfeb!~!3Q(=bqszzgAZZwp$vWl;aocmvj`t<5uR)jK7zu{^N5GRQy4sz!P6Mr%i!q@ zp26Um4DMs_8yS2ggJ&^#HiPFdxSzpu8GICj2N*oa;2{RjWAM?0bNw;jB7BTR_*jeZ zaTej@Ey8cI2)~)a&Heori+B^5c(+=_o5;kw%_83IOuR`J@g_6z?qKjc8T>8=pTgi% z8GIUpPiOGE8GHtV&t&j>82nxapT*$!5zdW=*%smVTZGSH(tUuzAGDA+*CPBOi|~h; zbRS{xM;Uw`gU@I11q}WegFnvTPcZnC4E_{@FJ$mV4E{8OKf~aQ8T?rWU&7$eG5GTg z{sM!)NI2Kems*4`vj~65B7C_;_{$dID=flST7a{-l`3s>I{=EBwYm$~rr zOubfMaMf<+a;W!|%(%M8X2vgO)_bK&ay zR$RDx--ruW-=*im)%QxcaP^KE7w)2Z<-+S&gx9qQuV)cn-y*z$MfhbDZthFFD1+a?;KK;# z=KJ9m;mM5L5e)8O@D#$ie55k*(iq&!;OPvW!Qhz;?ql#98GIyzXEAs-gXb`~pKz}J za+!Fe7(Bq>K?V;ocpig~X7GFlAH(2d8GIark7w|k82n}izlFgkF!-$uK9Rw1WANJ< zd=i6CX7D>0{7weHi@~Qb_*BBV{y5Dde7Z&W-4@|9EW&46gj29KrkMKezn_0a4U8#v z^IC^F8S@EAOee}~&`|oM}W4Fv}tJJw_(wp@sR?FB@JlnN= z_Pu>$hCSB6J864pOR?plEgc^V^}DuIqut{>mfAgjWrqzX_N=~Y%}2{FZMZb9w zdpT)Xtu<-y^-R04_iLToBsSaee({5iC(oWWF72m^4=25O#kTw^FTZo$XR|k~dwhSn z5$-z%joxuQeXghZ)Or;%M=eiVa$%=OD_5+j6~q5ko3hSRy7ZG}jwN((^;%G+*<&TH zeyc&fVLkhnFYeO9{~KGn?7TJJZ&w62?`|L3^TUisSC5{5X4V74bHC`^c>HhkrZwI< z{_qvU$L@UAy>|b*&;D{`?aA#sUOTw!+u^^j+OhVFyGuPk;iHHBt$&?U)4%GsIf*Ox zjQ;)7{MV2F@Y$ZzGxGNwe?EWh*K6|k29N%}XTsi6?SFl&!rn9Y&TRj~zKylU{d!>L zP5bYgfAUyHtv|j?oj?B6&&j{;e_&qgpT26i_NVPH-26w)y{A4|x%TJXM{hn;>Y7tq zXHNL(qeb&h@BDDWkMCvNa{Sx9r+&#_duBuJGsnJOd+NA5<%&8L-K5T#D z)R~!sKE3?NjKz(556-)L^(O-cA3grtd2ihF_#O4OK3Jts{hBof^!gxvz|hZjE$Vgj z&?8%01P7h?Zot9!kIZegcI68bM!d0pK=SfKZ!L-+zAUu!r;i3dvNW*$n-(K?JhwOZ z;M*^?%$|4Xbk*xOF6rk+>E*SLG*tCLf@O`mdj z_UR5EKG1X8%<91nm#n_5`{UJ9e*Nv$`foR^zVw5vw2!x~>)fK#@~KBQ)bF3)Ca(76 z?SUSJ0t}PFo-m5jL_;mcc zS5&KUez-ARO{$l!wDZ`6R~t`w@X+a@Yge}E9vJ9#H_W;F-Lx^K5^E-CB`&+I!@PkR z+XimfwC$#i7v&t>*RuYR5AHs;q~6SOgPSML3YD$(-t-SI==^Iax6NDSe%*XHwB=;6 zl|zSgat)08{kmXYug9l0#o1z{3HK9Y@CYzqm&UBZ)Ra5`# z@MFc;?^oCEdFi#_~5XkI(z@tQSCJ-lY|`fe|!4jeeV$BOs2 z<{X%I=@myRJ>2Z`+qWmb^>biBM_)|G_&E=E{iJ8T`tzU79Z_zW%EunBJ>ag%9}K#_-}P_Q>@s}Gq|pPjejRni&WENxxW?UOaP0C& zr_cSlTFb3*yI#tSd!lyFH4PG~99w_11eIxew+=&2-dewOw;r|cDN)RKc*D{LzJyW7x z?8+s3m;Ulv<)Qic<>EeTePr{crH+0&DtG(A$uqB6yX5P2>()KgBIBO-KV5#~?o}Vu zZ25U^?i>4m`Q^PAUb*qBZ@M;K8|ZiZqYrb+K6`DGH@|%T;gYqEtX-71Z|TH4=YPBE z`NOk@R>*$+*xYtAzia#ZBM0xCch#cc*6I(>Iey%|D|q;W#KfvA%eGsZz2TFW|9G$J zk_TJ-Jn{DmN9OO`{mcd9FG!nNX=h^K!cFTZ-&`suYw!3E_N*B?H?G!q-)>(u=hL&Mr-j7_}pz}7cDYMb%lkXKWGxb4y&RX5-8@{_OTpWe4+)-$^=NH6#P zu#aB4X~3De&peYoWdE+8f7!b%|A!@=uNeIP^(%8eo8zs&X!HD5JB|%&u_gce??3o# z{J{z*{K-{g?uuV>*K>91tT;IP(^;dIwrDXm`_Om2nm1nU|6unC_fs!!*s$UDc3(I4 zWv@N${&0Q#&}AovmVDvK9oOBNd;0zXSv&7^AFecb%dCnkzMOir?0rpZ@0?#eb@b)m zHQ6)fwSJ{4_X;)7Q9w^#8fe)_QR0s@W~%PEQqaB{QSX5 zUk-V?|L_O89IJv868&#q>x&-Tv$f3=BR`*3>&5+#wH|!6J~ft$@A1sDCr+N4IHFs> z4fkgDoHlqz{aNMierDmpInO+oedMEGyH)$}%Q0I|4tagrkUOgX{Ce&4_qLjv^Vqd- zeDZk35*?3Uv9 z?Vox_m)rEwu9dD-uUP!Nc8Bl&s>1G<`pj*>t=Ubt+{N4M|! zvFVZ?ZT1|xumTh~sr1L&x3>wFK67%$#sj0rUwzY4mFIR(algL!`R7}{eyCpM9S2Ki zE`IRQxs9ew>b;=;$^MsbsPTtf30qGr(d4ZP#V;z>^T*q7?X;j||IsC4;--Z;2w-<#`92-fZN!jqrelQg@=+KmT(Ui#sR zn>JTmJNVWr%7s(zL{NwPU)}om%6Ew^N7DTHtOpYtXEg z7tOz>R{2gJCpFnwsbRm{uZ>+l?`Xvxr`k`hU-6U9WtJ{G)~ElJPRmzhuB%%9WcQ9u zB_k25e_i%q)t)%@+ zR~?-FO}SF-=H0q>*QQm~`&a67^NV|)D6!$%p8an7v0A&Q>OOMUn@QV#`rw7B@efrR z`gr%OE{O*kEq&{@(@(eD{_Ns1Evj75xo$Ck(o^Xxp8ojgcWbKj*!JzD=}k+VFWM(I zzWBBqTFr8~KFF(ArntA&&Y9(_*6lmwf%eBrsxA(FeP8{H-Wm6J!f(CK44r?d@18$e zt-X2Z;wg)pJ+Sn-j5bsJot}z=H!Ix|j8!0Xhb}m)G~Ag}=@3 zGQ3uUdT}EgO>EUVR1ESmsbaO`w@;k0E9=<1RbKyf@v?1kt;b!tVfyaob>b^8d~B|3 zX4$I!X7};8?LVzqr_4L%epz;pNo5N+f|Qv@9WdJ`qcJMo;X!vO8UXo;xavETZmqfD znJ2oPf7?@uA3f7Oqs#s8=I{FX@KXy8w%&3vNV%je(94!O9AA7xG5EiPTIcmYS?%=b z7u!7gUGm^nhvTnFYIDi4te*F7J@ZuF(kD)rdH%f?Z+TaKG;LD5_S<4dwHfCADYfI} zbAoO1s;+)7H+{zblCSozdCjgzk{VZk>8kHnUH8YAZ{099cG<#7)mQ8q(>vp2zxcG? z?HBf~nBSt!p_D!~hYVOh@%qEhe>`-#K#n014qYr!j4TyDpT zi|}GvFf%VbJb3T6I^X=&bc{BDQLD?}+x`8=<9@#2~FgbYkpiick=0tWs=@D0}! zVBd4$pO*iMK@5x|YXQnhC%CsfgCDmhg<}pGu%getGe0>yi>VU0(h@ zM*h$i?vuaBTx!}cA^GII ze{#I^J7xF`;;Bj+(7R8kVp>VJbJ zzexB!^s`F745vT;vLFA0?Uz619NO=%t`F70jQtt0BJ9tblK;~B_{ZrzFWwq1e-Y?C z|9U;}ySx6@`uNAs|FNgS^`nNT?fJi`CvNBS(LZkd#oimP&;Q0>@#1N7|EmwoJNS>Fk|5muZ{tEFnpDdi0SzC_mIgJX}ub(Dfd3WKwqMj#;THgP_yz}`p zMcA+Y2kN8Rvj6JCIPWB_`ma8W^>NSoBCHQJ5AUOiX-|6L``aIg*V0!wkBkLcmm3S` zRV2-A(8$7hMLlm8wY-A!POM0xSaDfErJ&L>rm9C%fB*CB(C0Nf=9Wc(|6(?UPFTUtt&Kq>;fAwLkkNFM%s}Ey+G+cKM^WFd8{PFYRbEprccPc&hZHx2g z|6}hu;G8JF@X`?#u^~2$iim}iq6iiQQNV_%Ct@Sya=E)mE;*9i9as<>Vnb|*4Y46M z#D>_hA$Dwt9UEdpY>0mq|1&#pva^%Cc?srP*!$@n`+eWc&b)o|rtIu4Y|pTkj5CiD zDUqTqMvJR$?MVjOmlxT87|nU31;0?&_&NS>t=#(!bG!fKIm4SYt}6S-QWw% zI*{e8_J4O^S4eD%@Y&Z&-S3#%EMaTJz9WfI`@^J8 zl+&~?yv2&1&OCz`&rX`Y9^c6>ANEVE%Qr*U2ocqqHFqs~I zc%)4KNsq%#-X5>L;@Lx)Z!~Z9j%N?m9<^WAt34Xse$u($JN1{toDBPOed)m>1Co3E z5YO%L=T^kY#d+#~+}8YuU$e49w+yw$A-OKN2%a~rxzgOf%>-T1t!CX)(7kb&SvM7Q zoo_Mg@ESA@rkT}74E3Q$qn{V`*?RuMQQp(x&y9+C0Do?j*OZzE$X=742Q>e(W^z(uXNRGRGkg_adZdY^Rx!NVyn#aG3 zK(~ClS=Vhh;VCO`+QjHG13));rdh|fe%U`O?=jcIc(QdM3(&8w-{?R1RRP-Loh>|j zsN>9`yVR>avKv?N*9h?DE1#Ea$^OkTsvqP!{*y&NxY71by=5|2KPcXlklVN__x950 z#@*3jS=q&B+nM^6yFIe=4|!hIKRA|0|G0ZZR(4qL{NtSNS=q%WFOl)D7`L>s2Ed!w zJKtj-7mNg5(Ygx3fkUcb?iOkA9WAJsSP|;Ligc`{X=7$lV@|&Odq$cIw|!x_s*a4emu6PXAgDW*J=yT9;!Xg>f+f$wa38i@@S7-`=ut> zA9X(4>yJ$DrCdHLuj98|`=drbzTc_bu}{w9dwD;v1FV}5o@1VWT5$hu()DIt4=73d z%gwqf(2WY3b-BiY`qme~xbNhc<3|lJ?rSvbch}ZtWrw<6ziTx1c;{@-9_sjJlgW+3 z9*w?V`ggWtr*-a^7DK6IKTsXZ!?a}DtaNh?U`{W#l z3&20dKIYWFrECo8aU{F;BIZkNtu@duwV!Y9Z~DR+Yo0LcI)Se9V`kj|IB(fpvu-r# zY927_ro%q1h11Oa+(;@fw45{>%3=a$T2bbaD9G zmpyx^^Msqe@a&=5?1ajiMttb!fOt4EvTT!&3X57D~Btm_8*F#7Li z)(r*Su-(nN9&p}{L9=c+=(?7gbro>lQG1wm1rUd~{56k$RRH!l<}c44YTVi7ZOt!LpVjZgzg&9EYcaZr0Og-9*q$d&;b9yOlU^|IN*DPN*91?sCR2H5-_9owg9? zEt+K3A;n&2xC#1Izn|*RuL>aUENb4>b_Z`AkC}me2e{>id9_Eb<2bRdsqU8-QvsiS zk?L^2{D~K4HD38|`{m_)sS2L=8MfFwzv%|_u)WQ3ZUE>;?PJ!B1YNX`S!Wx&5&z0P z4mX%z&A7Q9{3>^QH28BEEtk~cc(@U}ZoL#uu8+@#aa^ZL^Ej@el_=J{m(B5L89Y8Y zVuU$9Cn-UmYvW?Rp%1=f2~72m~To+VAP0>-v~kH@l5Uy6{_b zyB;nc!n9hiH0!#-OnlOb=6bYkEzUb-wmH8=pj)!ctSf-H)APVQ`c(ngj(5 zeY|H6)gGsodG=84vEwMu9;!X|p6%H~wa3KEJ$tD3SaWk8?IFf-ZLGO4URn5=dA!mC z#$BzyGV6vze*HfrbTEFLP-Px>E!tCzyWY6ntXl!PPwz167DGLjd}l6S+5i;+3Sivw z|=X>^0 z?Q!D=o;_51ba^?C_K@>~kuWY8wcOm_SHQSn+Q(*H4;c4%jhe?dJ{Zq;y~(T_0J=Ui z%(^vDkLBN+%QqLsXHiwk9`O7=b3pNElyF$}`y=qk zlIy9)4!5)>LR{+j zlQ}NUhW(X;TbtuyTiBnp1N$B(2Y35tXl)RvNO#(A8emkeY9C;fo{f8X5BKNryOb4EdqMN5oTQz zYG;?dnw3A*cid_4cJ@IR@lKICX=l0nM}ymAmkFLd)OCn(aUJgaZG!%>{a>BzE~ie~ zi|m&wVBFuer8)ji23?<4W}OAPIscmH2URd4n|F#izp0>Gc&b@97j#QTnRT;)jvj8- z4TpJ7|2NI`Xo7zA)-84DS543!7Yz06p~m5{?|c1{YLBOSWHpamxA{R6Y%j-u>Dfc| zk6RA#o})Frr+?|m-BRNicnW8|ejncONQ2rVyZ89k!}l^TO=e{WAy@|(4hSvMSX(>65gro($UKYiFdzMKfUNe`NJ+1e*tUGcGp z9?HHZZgs2`^_T?H!Fo(+BPU-!Xn5?w5Pf>^O$$R9!tnT0c*ZxY6&)}5JMJ?sTtP~8YAGcsz0XfEJ zX<`!Nvz6*T=+xxK)`;^-jM@h+b)vnS_CdGkeZXG!sd;fq?NhN|>GMf(bJA93_>~@4 znyfvZDD&*0%%@s>KiIQ}YL8B*c=k~3aqcmBu}71659@L zgqU13THHU#5Tb2JL}kkwb*fo695U$aH|s3eZZNdUT)qWRk8V-3ZW-wM#>_e~im-4siEzJk;Vb6$KN|wdoa;7mJDPU10=|Fz>D}i1rb7E~8!@;4xsYG~+syfm z16})>W}Q~t|9n^g?d;5L^XOLvV2}Abd-hP{&To5o_E7E7WA8lLL&V{h*5r*uD4N&Z zyzW>9-(BnzGV7*-Zg81dHyh5ou*j_Y&w;XzGbn(#6FDG{epLYW*mHqr4>j(rdepOr zYLALVd9;VT|37Yb5vcm#XCCKHhkbmb-ZGCj=YwwEJ7!%ExsUL7vu-Zz&s_P4Sy#v5 z7R|l@;?C`h^XOLvV2@Ky_3WX>9pCYuJyd&459QGway(oG;ca1G^SE>}=$7;|>*TV) z^8L&@x&M0g{$?E-02>KW0CDHt$~^j20odcn37$RFxYMD=vxjPr$&>PE4;hE$X90)x zH^;*j5Qj${WY$?gM+ca7^0}7@1I@Zd5^m9A6hPd0VM-qTssQY9z|EdL)VO0^>)AuK z$GAK5Xb%~Odq5amGRPbc;W0sL`5|WAXrNagYSzi;4O(Bt$NQeT6I}hKVN59I) zK2Nbp!DnCLI^5^^&J)|%r{Mb{QV+YS`xf)_UPXPMXOr7MvQhJ0Q+D$9k2G&Sw4G-U zwO=}avpm{E_DhRk-FnJD=Jn`hpqsJQtm^>J&)1w~?r-FC_LC-ulUs|wD z9{s8S?D6+b4Qh{W_VWgv*nTLx!(-p?VHF>HJpW@8>T?J}XESUA zqUaALMm>ihb>jM&ouw zTD{t%(Y&vz`4p$#hViW2>Fx>>=t1uBBRhM@6Uw+L3rxjLsmmg6E?b(_{BOOn$H;Fz zd#G_@yU#s)sP?$}XU`t0Jr@62C-!JE&vX6pPra-ofZ; zj%-A^S+^K;bHZlb3OMg_xuF5+5Zl6SqW-z=%+s}&7)rx zfIUi|$)i0)J8NT2Y%N@D)+c8FTn4)3pPO|)&~;vF)~$l}`1EP!_OlqCcZ$w6Kku{( zbQ2yh>n64l^^JaGE?>3{uK@gN?yNleRRP%JhdFt)hunv-jNRwtKNEg2``sGQP5ITV z8vwT-r=4VOKk|D66YezUCra0Ne;0sXb$c|AepLYW=(~q!4|N=!?43t@$o_pQ^ozsh znES=Kpc{3+SvLUa*2kFR&Q$o$?u@uuR|UE$W6in+?L=%E(Z;Nk-#eM{TYlo5`0h(P zOMdT#e+P*FK$x~xmW%Vu-a(XaSTA9qiEzAdPjS2eLTgQ>(072HC2OySa>8@dYi9`k zaLL~*_$oM#UM=eHgZBXU4T<*?4Ts|iTM1sihaFDq{i!1h2>;mD5?=A|ziZpO{j=jK z;`%MxNfco4sp9&sg5wzviQ`T?3;vA~aXbKyN6ZxYb?Yqng?$9yw+rMqO&pJd<6+g} zcs?9=y;vNt*cQ^q#PMP{?hGHWuGmrV%a4TgaK2GP#IX;`yEq{HZLWA1yR~F9!H?cW zr0+jL94~_7H?9!JeZ{+it$E|b@wnZDe%_tpcq!ypw4pd&1LyC*zc{Y&LHQ0A$1@?n zr#p+|PLO`i2yxs4j%T$J#|vN{{>B(#PdN{m01t-A?>LFG?Vw|xAjXAjjLotAp`Q0*~wg=Y`d9*y=x{;Z}!#Q{9GN{L*56dfaeT5{t4?oNPwCPad_>y<~Y|4-rraBhB-g^o#57M z%sQkvjRwv=4mWr^`|`s&^sC(Mp~Yc#WyR8>SkbJ*{hGV}nw1^;{wH6{-5w3@A7@9z zS{2b>uWKA`^6w4Ud#5~(hnt{(%-z}Z534j(76~Ln5UVV8zBF-z_1iyw-{12OlYcz9 z>H6&-`xV!re~58yTWbM)M|$C<=JBevrRd(5PciETfUflwX5B>4&AY~|TLa_dNj|gA zCm!#xy1s1IO)V1j7^@UR&DnZmYrB;w(}~u z9^FdKx^ZxQ*Df_*-|3)h|Djp80Cb%{GVA31`e9p`b(kNmE8YahJ7YGi!+2Ey?W}6| zJhrm}u*bc8|&8+JN z=UscJ`Me!qKjMUKi2Oh|Wm~h(cCI}BDuB52c9%T*RRP$eeRt0uYTP+|AI~1DJ+7bX z^-HQfdigzjsP>q2px0hhdpvijXAjjLYmf5mq1t1=5qY&oli45l`O!Pt15tGUf!J@_ z_dktRo8UV1CwFFLmv!Bjk*j|+_&${n{%utD(DpI4m5Vn%+fVCoAJcm$h-cxv_QEW! ztdqQTe^z!`xAr2|3D{MI`)wT;wKvA2#W1fQHOH)51-j_{X5C!S4ZF{*n+?z5uHM$H zGZwxM$tD&Xpv-{#28#oj!09l2rNi_+lt^`=L%vdg-yuNS~RyzX=I zxL;o0$65sUiH3DH-zTa7-NH_0U56qOMixF`*7bnxP4F%4=p_Lj|t_@T>5= zJo;4u*yE0;J$tD4(?4J6*+aF*_HX9V9wH96wB)X)qZYx3OOSvz0Pq>Fo8#eh&~<#< ztQ!Zqr{6T|K-Osg6hPcL@%=pdRRP%Jn$H^49@%}*oWF0KHwyK8<{Zo8_sn^A{D;pM zGCmjhobNWjWeHUU zX!2{;yoJ?FIKcv&QvJ@d7Mz_&zuS0K9_=CL8>68*H5Yl&Gm7j#|UG3yqC zZrXch9ZWZ@BVLCW^+USG@+bFp)@b6`VQaGTr(EM$lYg(=1(x^*1sdOTdCzk0{?X{- z&a-VB)E?Qj7a0%S@z=8Q7=L3sW@U%EZZD0-9{23#*+ZR&e$%rK>>>K;*48Rm?;Ev) zxxZYswP*>$R+x1iwh_8f-NC(oeOiAbju*r6oR#9Z0_@!9H*q{0 z2Kp2B6~}X1h#D?gva$FF40HOwD304gdB*w0`^zT6`}8_q3Fm|S<~<|y74V(n)ji>S za9ma)j^%fUqkD?uam~ePi>?sqr^4~Hhs3e3qu}RlEc6qhyhV=-euX^$P2#wNJpZmj z-&Q1V^uKfOryETi-g&<|h&$_i|E^gx`{M!~*cBJ9Av~ZCpS$uO?9`v1*8WkyYmlGk z6muQdHX8r9{Upae8P_X>eb$?C%d(O>u!meXUIi1@qK`%Vlm4jx9RU5ruusjpxu9GA zm02hIoz-8Pb$U4(+i??$JKK$M{HPA&POi@b!#;}okHdlU8nZo^qw|Z@fpteB2>NW- zufu-ns~5A{Khf7N$GZMn=k~%*SkLy@;SJ9o>U{B}C7wN0dtCErJ=jC^(`~E{;+rGZ zgx}5m>jApxcV^vE&~^O9teXkC)jyeaRZx#PYs@-151sOZS(j}bYC>^m z@$!1`t0rWR4S(|Np~juTe|Yv#?Qzb(^9U1acKeQTK{a;4TpF*;}5fL zDC9Tcd$Xj)e>eMLh(ct^=E7=wl{zJ5z9=0ggU%9V)ce4x9iQOl#3&iHra-DbZz$1@4log=( z*yH&hn^5=32%XKO_Gd|qx=$;0qP)#a-*xJSSBw8uXk>eU{N zX5IVD_Tn4U+y}gM@8->if9?1|qqhg&V9A@Lx}Sq%RGg3%%OXyk_wJr{qtCN{G@13< zXFhi7p9+TgzHcVS`J=_Ro2*GK%qgN}H@bb7^E+l`7oWUD#=mmidnm-$n&#&CH9)KZSu?gX>xPQCiB+?!S=RxIIcsmT zZaVCDTE2~Wy=4t#Q+9$`w*dB2jk+U0>oQHaowZ!+#34CM$}lflZ}x#4_-R({YrV0@ z&#N1SJsMpc?*4C9cF83Ux3=1DFT(Ytjm`0J0mSR}8<=&gWL)3KtXl-dTsXk2n+v*m z2bpzipr07r#jF#x&EM}P9EZbg_OR`c=XqzY`x6^oJG*0(tn31gNw`uI_K#*uvWhqB zO}}*1Q=UE4`y?;E?%6}N$3-vJfjz{0sjW2<<~NhNnftfCyNZAmy~L~=3AzcFnsuFa z5&2E4G3)w*ZdR>XHxbS|vE67jjmrBzdS4dD)@eB(?_zh z!+O&%o%C>{m`^wQ`>|Vn;@F9gdF`L{`wXe2Q7N(iuJitu`rrTFZ(pZ zUH|qt>uAp&>Nw@ua?c*BJ-Sb-7klJ7FV611nG8~OcwgkY+a3FO>$T0BzjtpP*h7r- zTUt|LJ+5d=^LTcoPh9!V{mi;Guy1tjKj!-ro#gu7zh<5Ex5oN6_i=usX=jhDtOLJl z!uGiIM`yg|#hvEO7yVu*_GmKu7k=yPw2#I&u4Ms{7pfkg>wNN}toGwJ&^W*T?a}K* z&mQWy_QwJBVvi;}uHD|3)qS4zW*zDCt?I-c>)5~4fBZQ66CXP%`Fz8A6Hg!i+Ovlm zPk;Zh9_%6Kfs45(vY$6X=KW$bZIxy9514gxK{u?#tXlxOr%TN`kTu#r>%3meYE;kT zxE`y0wi)@FG(WZdqpsKH=Xt~?+fTRr-FZI1n+G;;KHwkE9%@`ZvsHJy$>en(lia5a z&#YOW-bk#o!TtGZz0JBspeyQO)-3~F|DI;uT+nsi%dDFYx_Nt;brV51Yj?8_!W8+Z z39moR-?$F^DtCJ{x_t;IcFSs>;3Iv53v#zdqrcC5O%KODIp1d%ai^6v5~iJft}(a6 zzFmcxXPsl#jRf7ibIrO=T||D9#+Y?|K{qX8)`{He|91iU)f;{PgJ0!tk4AG}q|HF5 z-gzAVHJNpZ-|zL=?Wa!X2Qu!=6z8&L^*6WcaiE)YfLYgRN4xA+|3l5X9x(1G>uT0j zz;HEXns?TY6*jL^ziLAEIAL4iTb?~wvuV-1`Hj6jd#Llw&yVozq1vNs zsb>$>9%Ig|2YZNqx~(-;oXeVaAkhy(|66p3S=Ryj-x0f*b<5y6yFNP;Iw;?gfo9!Q znCHxxZq|(h-IQz1x|y(ls((kbt_k%^bFZ!kzslVnKKp%J{I&3W(Hj3gomh9~-=||T z@_h|*0bI;ijPKXl??oTa(au*Ub3I2c*3Em^qFjIFZV$0eBkfU-`#>&vyB@}Ia(*xs z+JDC#&FyPJk+ArJ(c*hCnEfY0eyx4x{N_Wu9=4TP=i5n~Y1A=h9af&Y#+#5|E&i?^ z{Hh7rW3v`M+dI7Z0W$-eABq<+;Gs%8fw-p z16}{4&AJ7kD;j3jO^5yDD_fg&^CA9s-N~%8TV5W2HKDlE>{c%htL<#?Xy4f#L z5AV5~bwi!(6VKHijqbkX7q?|)7tyIvp(gkHDUHq^o$t-7J#xLD(%|#Q+1;{=BlSFg ztpDd@f7{a8=a6w8ouBU(=IS3XpRRv<^ed_dd&v3p00=kj`*rG%-MHnCKvs4sc>m~qT2^+*%|GP*rA{JmYs!P>xIc1d(Ey(gm~~a4>sV^m z!QMG*`NL-2Dk$HGC(XLHVz0E-@kaA=?aQD)?0Awnzg3{?da_xUd)#Ss?JO40%D)P} zo!xVKR(8m(ofUw8d~sx)Bv- z-9$L=j9bj-9U$gPR{Oimx{;vke79NG1IjnUZ!X^e(9Icb))hcI^Iw&fe-(T?yWxhc z?2ubKD**p^|F*2`Qt{9Ul(c<;2 z?6BVX$3gF9WtW2Yk25~W$`0$De?0niR(8qGKji+FMPSCKuQ!kHSAgz~8_c?HaQb=s zn01R`pW&!ZX5A{#MYlHV7Q_1&KmE%*@3Hdyll!=~(cBmL^~bFIX}xP_d#%pOF4?uS zChQ+$)@Egg_0B);Y@OA6L9+7?5rnUm0hxHXHD2Y-q|ZFJFIv9u}R;o?2?^-i1AJ< zYa)D4s{I+}c(@3@Pc`Rqvu*|Go}Oyf&4%-KKGUpQ1iGTL%(^^>*Q~Q^!tLyc0a^Le zde_b_9GaC~vTJ8e*gu{ho|PTeJOB81WL9=5c>mZxkd+VgK0nwyf;1-ucG~ z_he<4g7=TB9?HrN>z#kR`9xNB$<9CIK9CMz#*SB+`^z4n>w2|Ww+hzJCY^28b%61~ zw25Y&5AL%}Yj4)|1>LMo%(^VQ->hX#I1X?4LRS8?-nFwKuVrPI?AlrG{?X{3Q=2f@ zd0xMzY#8eIbHw`#va^TW_b?9H|HAXk?R7fnmYi?ajf8RktV*+P9O&jn%{p1n#`-t+ z_bWB{`#`qaO1#^u8MCS3Js9=%K9B~tM_{iywMUbGPr+%w<}vORKpg(%3(p?vd&-Kw z&#OIheSc1a$B)n36Y=A}y`Q(q$B(;XdGrrCZkfz`FZQ$Ys*S}zkl)=}2x7$jW}UCO z&`rC+tQ!vJ?L5`2LyFUA-~x!l%WJ#a=Hyr8KaYoVw@0ISj$pG}va&;6&mS9&J%-)o z*+cE07e40ML$yc$R~m&q8r}NB#Sdg<7hhI=Snlz((b=QL0E&AP>)n|6m;w*qvtW|?(ucNdp;?QFAdDZDSSb33yxD`&|;Q~-W;`rCQ*s{*jc zybl}H9*t()Qg(Kc-4KZJ?0PefyY<34u}7}!3!-0YfbZSR8nR=`9}MfXeRGJO>Cys- zAD>>Hm7n<1E1v-=0DEjR-Lr=}-d{4kLHn0RH?EDAd-hQMqh?ed+lv_Ix3w0CXZNi> zkDJHGli~e-T|;KwOwjcyGwYVZc?UmX)=d}p)~z|Ww$Bg+9cV7-p1#ejYb(oliut^q zKsRNSSyupY_`$L~`c(ngV`bE{hZ=Wwul4Mq+GD4QUcaQ;-?30Xmuc>gN-|I$M=L{tsCt}8+G!*oh>INL zan(LzpI7R5U-2E=)NwzJ@2B(q>DstL#4Su=fly`&^Se)@=7vS zxOofq|S1kqSHG2U$sJLhCYJQOHpB};}Xt0IA9$j^$O zNTysWl1wK26@i359ty^4Lhf-DaTnWdqDsgBH2oVvc8&~e)i43Ea*m4Qh3bkSf~VORkq z$J6ONE09WSe0eMe7nrAGEhQNbkMjpBLcuYK>PntpaD0%tUnm}r#r>gi!ANz&-B2sT zQGe<9XrMA2^v46ya;D9o(#yp!L@dZWCn2n?^T7FovFa#qg*wk0qs%~DH+Q|o1(mt* z>tJWXew7D!f#cz_q`#V7D}Lc^%8f%~ck4@IwJbzI3Po?@GKGS((^pqjv6fZBY9RxR zn`iAq<86H)8LVLbn@lpF;~6s}rQwNSAi{jq!N>ST8xR(S)NYW~Claa&Mf@yn#9!sF zj@m`@hbqIYb;N=?pT=5NNgxpt$p`w!_+vaI+CL6H2*HaHdC5o;G=-gstM(S9qjbet<~Jluol-vA*R=u)GrH`UDrZ)DrMy|`m2zjLKYEbecGJqqa67&3 z2fW9Ohgko~TfN;(c}ot);;hF?3P8j|W(eLR>*<|X&Kc+WmDcj14jVMF)TPj?rSoH1 zp?J1>I>33850}JQw+MmE(NzVK6_D6SuKVQ@mPrrM|QK?ihU|Wan{?}pj&U-+wPg!1$62mu0tXjW21+3oQ-Ym zE?q?LbUx+VY)BTidjyt=E1x9meiLE4r2IO8^Eu~F=XpjV7w%`#WIPs$uzwoM0VFqB0gsRtS%&7#sKVPDfawGLRS}&dmESkuDyn z^`9P!$Akrxerg~eVQSr^+K&y)(9Np+AR_%BBK;5|{SYF3F_FGFQ+j^gBH?JrpQzwt zm4W_#J*t9iD3pf7z#{{0U*0qv<}DgN2+2Pc!_xG^5B2h}*e2#hntlk9{}34?)AX71 zAA;mxjO1U8L{J0_Xg8d(&9; z`id(drj7#@e^&892tEYCixs>o6d2Q^JOAC2jRO<0h&?j0oy6tGw!+r+B6YoNU2js? z+t%%E)M*h=%xC0qP^pK|$#J7S>tQO#&Vm;$%*iC3XD!U3)6%ELONxfuO3z2mx>&HV z0}&sY#MrtcivWB@$C;#oq4@~J&ogm#zRnC!OV1~}VrXVauZpzv&ScGyUKMHSok^h~ zy(*IF6A?CWW8pmQT_L^TwC|S$aNkwlPU}jU) z%!<5g5KEDf5c4!=&61~=%a?IB?cie!uy~R!BL#wE%HzCqXWpBH4w>N)*ho0%h$`H5vfBvP&?&t@XY1N z$SdVYj8CwN+jAWM7&fAD)``XPD8c(rgDGy7I(BOzlH_aN!C=B)8H>jFDcSiGp=hEy z;hfwKgG@&0nAdQXTNh^8vE^Sj)^Xz*&XZaLCdy;${A@W_j`vi(J+_f`5XEtooAbOq zrp~XGmn|Wb^P2~J^-*>lYW|X!Z9uPYJj9*1Ds0b36}xg=rje`NYQCIj|Fb!Ka(oq3 zOy|Ywhue-k9lO5~XG^AWIRH*e$5-IBdh&Ggg6VoucQL!pSU=k~spKyE@_bYE1kcg) zPw`Lyoo92IV2CyUa4Gv8W~JeUU_VuC`M)g2I6u3+!Qv>pjP~WIWHL7&49A1jkwBc; zB~WVFB7a4Q-9d^uqizdud9~zmBJ2b^d8O>rgWkp4UMTWU)hgx38lLi4S9!QY+7*@O zhjL~xf-9YL239nIr=}Bdtn?TD$^^glCv-NRx);V71s9q4YfwFBgq|1Np8CmVsNkYP zj!r}YVMSREp1v}iVE1!^d=kWdgg(9E0(UAbj`h|e)9bB4;$T-hvAcnb{4`!(&Q!V5 z6N+>acM=F(9*cIw`dP8?mC7&0vsR$8vb=266N*Q<^NakTe5qu1<8md;tV_!t@^iIR z#g94evck}LRBFe)&#?P*Gs@}}w;5g3yWovi?c9v%?j;E@roQdP9&WPp5 zk9i2;f4Mg?6LZgHD|=$RDDfz(Q6`-0d27z3S8-Q8{CuUQ=a`aIeJc1|p3C{YXFC!J zeKHVc>lx`dhg5rTy9(bH>G-kRhaFth-Z>Tl)H!xX?lfG;GhKhxteJQ_rITNJ8+H5u z{M4zI+kb6bbVwpUMeiz~g1f7go*(d#Je^NDlWIRD{}eBB5aqH*V0`$U)*Ynra^S^{ zz%OimQ57&Ww5$SM|YI zd6eI~7{~?(d~C~xY;fU3c{A~u(hnlit9+*PLx}V$pDBGYkzVE1^kVd!$p)hS7%%d0 z+J~xB>nht1#+&j{>zpYcl{e+1);&``DzE3`Tz|PR?rzr^c*w%-KZC^R%5g7f&oaHj zXG}kYNU!i2(-#xz72cIzy>0_td1UgBl#L({%s)~(CP>dG-4>biQRWj)!&^M+_o{G9Y@_cv@o8n50)vRzS~KSCY}wkv{7P}o{#YMj9= zRpO78uuieY9;gWW^5yGbAeq(9Axi@NG~T}0nb!U zd#@N$PBy0CcUIxH1G`(Jl@oYlIi*G~=Mbcve5E~8IXRBmlZ|DJL2L=wZW(NS)>-=#HK%`nOIHj5$zoDW~Y5VQ@&ZtVb$JPUXh@GRh2z_Wm70nY-S1w0FQ7Vs?K zS-`V^X93Rwo&`J$coy(1;90=4fM)^E0-gmt3wRdrEZ|wdvw&v-&jOwWJPUXh@GRh2 zz_UODTA=vYLl13cHM9QJe(u;PbD^en-`quP0^gIp%Y}Leo&`J$coy(1;90=4Kp|OR z$e^Q-6wd^xzb!U`5I^wQBMXKFRvWV(w-j&-~x;Ceo-5WF>l%Y5~G+G^)b zu-DG>H$QEF;O!86L*%@2xTK$VV?^H`!R6PYWIbd#<%bcaJu2AK*r&5RHidko{c2(n z`~5JRA-Ej9$$D3YBayI7#L{d5=`emvg6{~tEWf<&TOoKSz;(NAjo{lL__hcRpYKic z&+QR?X9V8?!F>q6BZBXQ;IiFFKdp|2lk9!+i7tqK7XPb44li5n|TUxeuQ0$jI`_-cp6zKuY;tYSH5^v&u3pGANf^NUEdGU?}y;~11{r`-L7TuVB7%&e;~p4 zC-{Sa*W2*`1Rsdt2LrC#V-SKLg5ZZD_+SJd0=V=e+5UzCF5{Ur>0yZea0EXBa4fDK zN$^Jz{4jz)n&5{M{4oT7Eb#jEKMui*5&U?-_3JPKaQ!-*fapge_=yO95|aPPfb0Hv z3WA@C;G+=SkKm&bJb>UO2p$An+Ed26Qo!}=6+-eUL-2A0uR!oHf}e)q@LKw`ejJ25{Z~ z<%gQ|>o^X{hd)crfAsV6u_XV|@iPRRhM$SxX92F4X9D1Q`Oil56A}G62!1Z$dil>o z^yee`3lRMz1iui$CnNYpfa~SF7|~w>xNgr&5&SX)p8~jk-pdhuD&YF{x&pzkMDn=` z!LLT}YY==I;8_28Ex}JG`0EJ%df@dqaRY+i2)J(Vn-F{kg5M0dtas17zk!GBNiKM?$n1izBte^J_O$p!FK{&j|)2k zj?I6%5d1C#-<9BZCHQUxzZ=2tPVjpGuiIr$z;(NKNAMy9-wVNeAb3v%?}gyK0f#@S z_OLgi-v`0_0Iu6%Uqs&*aBQ61kKp$s`2B&0KdE{h0Dyj74kYsHPw)p3`~cwLPpUiv z0np2HFp=LNfKMcW- zM)2VXehh*i3%Ksz$07P+1V0|hX9R+ufaEh0!B0f;ISJ99jOb56^rs^DCyr5FGuhSB>ym?KMm23LG%$sUy10W2p&W5Dg+;k;Bf>`Ab1kN zs}Z~g!D|86ulqPeKOVtPNAfuX!OukSvk-g&f}agI{7J>Ji3olUlFzw_{yYRfAIawe zL_Z0^FGTX0jOZ^y@QV@r5(K{#!7oGbDF}W!f=@;8D-irj1iuP!-9N8J@M{o!8j}CD zh<-YvzYf8#NAMdE{6+-73BhLouG`^eL_ZV3Z$a=|5&Sj;za7EvK=4@zekX#@M)123 z{BFQ?``m-z_agb+hv0J%{C)(Vi{K9+_=5=k5Q0C9;Ey2qJOqCf!RI6RV+j5@fvvJKZD>45d2vLe-6Q)NAMRA{6z#`h~O_F_#y;<8Npvc@K+K1H3WYh!QVje zHxYa>g1?2}ZzK3S2>vdDzlY#U5d3`vUy9%#Aozy}{t<$I47eVzK0)-KBKT*3WAprF zNV?Av{0jvC62ZSh@UIbkIf8$K;42XPTfnh;e@F1&6Z{VZ|0D45CpGR|iQqp0u3zs} zi2i2;{{?V;J>ypd{|(9KcLZMzIA+&B2!0LldinlD@c#i0e^Pe*3&H;e94p^H1iuz| zy?p;7xO^}M=v4WdHP5`x(;RTDd@TsRCGdLrS|NCA!1eOALGZSKW98d`;M*bjZV0$u z?v052Hb(MmkK`wxU&hMc0n)XD`woFLG zg5R3pw;}j#34S|*-=5$*6Z{SY?<4pf34SMn-<3I0TaKZ)Q^Ciqhb{#1e=Meu%tA5HK9f-fQXAi-)D+oSJ@TU>{7=n)wd?mq02|h;fRRlkl;Nt|JAowJ~R}*{xb*pGoky z5d5tKe;dKyPVjdS{49dMli+6){9OcpH^JXS@b?n@eFQ&;;O{5+xdi_J!9Pgw4-x#s z1pf%Z&m;Ip34T7oKSuD66Z{hd|0KabMet7({4)fJ6Z|&>zk=YuCHU_M{(FM|f#826 z_>~0z6Tz<{_@4>>7lQwl;D00d-wA#-!T&+5;144B0R%sg;14GFK?HvY!5>QSg9&~J!4D<)!wCLxf0mE{$zqbh2T#m_)!G! zC-~6>A0YS=f)5gWDZz&bzKr0@3BH2h!vudC!H*&M2*Fnpe3am01Ybq)V+lS^@CkxX z5_~nm*ARRy!H*;O@dST5!Jk3!XA=Bb1V4e`&nEbZ1b+^}pG)xP5&ZcCe*wWyBKQjl zelo#dMDQ0A{3Qf`DZyVx@KXr>a)O^q@K+H0l>~nk!Cy`A*AV7YP1Ef?r7RFA@AAf`6IdUm^Hc3H~*Lf1TjpAow>4elfwnMeuJE{5u5y zF2TP?@Jk5(eS%*~@E;KThXnr-!GBEfpAh_~1pgVqFC+NR3H}R$|B~RpBKWTfemTK^ zL+~pI{#%0oj^Mv1_#X)VM}l8T@IMj!DuVx+;C~_bUkUy{E1{~sD^2Gf^;1qT~$0>8HkU!3ltAkC3XgW(+s>_V8FY8ZaZD)FNufC zE0TUz*l?`WUmA~9amg;A-zH688iF4rVErMLvfyIchGf&^QLl2RL5(= zHM|IRWr{!t+tI9w(?x>40GIEhkA}+q{Bym5a$%?*8ebJlxcHvH%j+Kxm4)J=XfWij zWu;>kudZSj%3l(z76#}=>6x)qeQ(h32=zY@!&`UqITV-0Vmen70vR!1**|{DB zx{V=!5&!(bFqCfq@Uk7cc%@teK_}lU&y%y3#oA3UR?1xUVBlrBHG9C>ENc+xWVtiw z?6V%CmCIGXRBo1aDCp#MNYg7@T^`SWHi(j_VaRm@(8fnJt7gFY5yWjNei9v%)dmgfj_d7N}mo+HiW z;d;9~M}cmK%=WRHNogn$OtRRQ43%2LKriEyR?m1K9Pz6kC_5VTzRdaC<>2wAA{I;f z1J%Ld=JLp_{UzZ@V0%=0UWgScF>_&SW=;ZuC7|NfB#zh5+ftP-l zhzBeE6|qREza)?dMZ!_&503|(Y^S!4XI35v^H))g$i(x~0)GPVvK^<=yH8_{%%tP_ zXu1kbLmk3A8S@o+J=?_H8 zWASjZf{mmSOltpxK`;AlRbLuPhFHU9Jw0nR6>N0LQk({Q*}hS|-Ks2W4Cv)}!k`Z- zuVJ$ykZw;=OiNAIiw$p6MN6_Pn<$ILD?_EcCHs>Vc1x^;^xbnw&+7;oL?OM8N)P9Z z8S3dOuW}Babrq!RMx7@Puc`A_29ojcxUrCKXDVHSO@BguJ`A&!aY(mQcIj#Y5Z4lr zPR6T1G!Pk|2q*l>@w|JplEBMxj~xH0F0PLAtF>~Z>DlFEa}4Iae6Y@k^rFBukZw09 zKb?*lj86?fUkmBwIA5mMJF;=0ll4u6#`;6iQvQEclI1lX;iF*b(}CXz&MVVLVd!@T z@UkC~ytMb3z^CFdoWBa<=~);L@pJ;l_Y?8_Y?K%Ad?L#Cvukt?@Nzz@cf99nd}Vbc z8MdQPsD@1<6XyXh-*?Kp3f?r%2VBNAj)%v_tqU^X+$kmjF73$mEEI&n-K`5Vq~n)h zGT`$3yzAxXzev+_oS*;V3^+gkC4kHGbG>^0OM#bhpYu>B*Zk=+(8=q~b@7lmH#hhc z;AQ_Nc|EVoK_~q#9;o#PN_qHBaJRLl0x$aqZ9JreS+2IMD?l&j0gAxitJJct1YWii z`#Ov6hSSznz&mjv#9Y0a%~*NUR&uk?W?5H*K2!g~+aI4@`=QbDB-emGQ~$;FY*HK= zrzDsLdO2@VN}#AL>sqbcs!l8hxWbY(9rV&pY?{oL5O}A=o!+vp)6UBxXBE4?!FVVX zO^H~2t_R%~U=OC_Jxr>3iQFvf2GB{r;_D+NAujFBtXf_ffb=(lPR2X69w~c9L$x=7 zPF^QnC+x_Cknar8OFKqm;ly}x-DS46@@CM<>&d$3P@t66n6Ilv*p$H!D=n}DG!yi) zUXdgl1XcuiV+iuG;CMLyEuh;3j%{6%^^vdub1U$&J=r{4luCvYc8c48m-AAa4^~u1 z$MCYT!Z2-RRl>R*bke_NK74VD=X3|~vb_P%7q#pY&C<^kE(_T{oN^+2y~?^1bh5mP z{q6G3244Dw!rT3lSaq_jyFe%7gs!u%Bg^q_(8=o^Wg{rIPI|gnCKao9Qp*c)59p;I z>3UXSTYfL-q+Q**@)%p1v|ac<(8>C69Sm*QB3~#tCQ)6<&pQWnGG2+vuRYrJhsFgX z)%Hr1ti5I34|*R@%zi4vQGe<9XrMA26mtMA)m+eLwgY!O79k_Cgzy^6dI0p>itH_S z{XomsNUEcDxV0Vxy_`S0_4ewROk`K$A+7vwy>M_f!NZ{69LmF|hivgTT$W@jfqq+W zGmn5y&P(08)bP-n2Ri9LijJ)=MpHRH3OafHbe+s`KIo)<6&RsQOzy*}#?RfhQ#m#_Og1A6IKE`6HXvKDCP=hJzS z{XqX1e=Pbe$`7*n=TN@b=ATFTAvXU4@bdb*&(A8zq5*fj7f~HAhof7F>Uen^-AkyB zm&?&DLUr6e;!5)Jy^QL3`5fIVsE(J<(Y=c5c=;UNYoL?!Ft`1Ljzvm#uYyInFb{IP zw3hWcn$9V2rgU$h>74RsO7|w3&Z$qPbc-R~uA1Y>bF0!#{l z=wF%V#6us0PR45|UuUerOYjNkWIyESN^AM89)2H>-`Nn+-LgIfz3eY^{aAm36)9wW z2DL#>YcUuPO(&J}UAXx#KvvPk9IyruD%HinL%)bD=To-cmiRzL>GMuco z7xb#)u@c!0ar0PTLb~+plb&uM(|?tNeh|}tor8V|(=X3KU(EF1fIh?Z3Psq6n=NAU zI$JA1mu~mUP`sQ^Et!b@d>7N(y(m-cEeUK1+GN%PuKGk{G{d2=C{dsED~YE zF?-g;ZoBat{;byz2YDk}1$yaE8T4YxAmrB1pqKMRKJF43SCy98s}~7>qLSSNst_&c z7tqVNQ!zHq*0&>madj#Ki7~=%zk)7f9FvP8O!^z>u@bDX?!gKxvos65xIC3CgNsz3DvH%QIzZ<9{R?;l(@ zM9pulNvGuZFRm+A^RrqB!)35bu{sTD20GOb_+2}HqJqz<2KxK;s0t=6t2yY@cJI=` z1gHh*)VQSS?8VBKpi|?LO9$)5t<2>cB+J*@T)tEv-o{)$uCvS6)?B_pa_hhb=JE}Z zxn9Ij?cKJG(%U3MRw<+k- z`};&SZ}a+SWi!yL{wn5y_S%9RrdXSUF1`P;b#9hy}PqyX|@EtjNeZGW9MJ$ z>V%oTBk0q|&$d2&(7~p5d{5I>kWQ`#l~qUWTa;|wkKaP!LqdPgeS7TNs~5C)(95`) zL2nDU2A%9D>>IQEzG-AUt1Fwli0rIwKquo!nvS2nch5fCf=;$)<-B$o#V#7l+75KG zA9L(BP>ga#Shu!Eb%R{G&ZusPOSc26D|YF8pi|?V@Grg=!iM9~@?-_G&5odx>laQv zRKJyX;n{vj(5L&0s+XfI%i1}s{P}J|VX!Wsmww`uN3I1J#Sruj_k)UXFJie-j;m zzc#?e;QVg3s6j6@e>?tZYRl>kdUYHj+M)0~vE)0@+B+-VAZwqjbVIB@S?P+ceL?4g z_TkjODij#gqdWiIli$&dMeG@9U!%UKt?#Ai`x*7UY<+JRwoWHZUDYCZ)XOX{}Xoxv~XVDe%ADTt}YNEqHFUJ?s{)q^i zP_tnR+xuqsY=?tR#trxVBxm>i5un=~%A?$*ciqoD64yoG)~21qQJ|CUBFYzF0_<)b zzw7U807#`7mO&3~CZqmn(C-1|RrBZnHl^iBhC_O}KF!m}w#sdYmGc-#C-)y^O6SB5 z_ZW$v_gF~Zn;)e{gvtLo36U>B+$uy0?rx{?_v|y$-qlLO*-Ea0SL#&)>EyVLt)G_h{kEz7fnr@Sb%Q<#dO2T}`qS8YG}{(b z%@$hNqY9Q)3OYG{PuG=)*cJ>q9JE59mwqkvsd9j{49S;`OxO;!gsTkv%9SJfTDFmv z?J9;;PB|(-FZ(%J4yhD%tg4n}4})G_r^I-+!C$Pc`p2-Dr?XE+?8Z0^^fGP{djDx~ zD`5n_~U$}%0>Xv>~WVre3fz6+!e2H8HhSTx3q$jX}tMHAI*GpO9uV_$VHt%P*) z{s@tdMJaKDD5R5qqNWS8)3LQ?HutowSZ?JKMr5a`f^;&DtNCZBkDboXwvmKH@vO0s zUXFj%^!D6R+644*(93b0uIK$g>bxvX0`$`VRXy9MQ_eSy@!bS+AescdoKI)c%d5kS zR1Nw}_KmYWl)+e4n9q%CKqviK&6n$Bo?`cpWz`zW&Gqbmb}t4t4YP8L1HEjwdj8@r z8{2P7gSgZc_!#G+1Iw0eJ#XY5N_YIi1LbS z$G2{AwPj5JJ!xlXS!WaFNnIB>!$i=__^#KJtt|%m!=2$$_B+fpaj&yW5%gE7-Pv_MBO2 zRmrl>2c6tsCv?&~E$af{Q|ocOZLmJX8O#XJoTQaYnt0l(3QZ;agf6c z!(N4^7rn^Uz`O0p^REmi*rOIfzPQPLt^u99{^=KH8tCLcPEj7`f?S)iJWf=co{@K= z+jYRp@s`LR+KqkS?ij8Iz3g`~>ZRMVdfotfxBsVSd?V=Gel2xQhBswAzvM-{Wb>7T zeS?~ve+KB?^-JklG*i`sCnT_7mPiq)ukXhTA~r_G`N*v3uUzfp^C>S3Y(ux&w6X>&12Kf2F6L1vrypOMNhW>7<3!3bMqgr zOAQ*?@jbw|v01_MuIygGWqo-%-dfqU^YhwN@JSu}xew9t=Ot9#97M2c5*+KHXx6Xgbnfe*sipd>!sxDHmmg<=;gfB75{ktDYJUdlwMTeg^c;zGhV)YrVrn& z7eVj7&Wau;x(h+)9!I6?9^0iC;jvU^{A2*M^}uLAG(ixi()LVGP^KJ1`7OzqAG3#+-}@Q!Q*|Q0r5W>McG2?tAY*>2PUQC?=;V5WuwO7%9_4!i2eL^L zUsGWN25|I`K<{qAle`d^I)r8S^hr%l~s@ z{;FQ&{{`sXaY?NDWV!}lf?n?971s;Xi*xXJ^A&j>)wXP3E_ohR@0@2jc^=iqY=16! z9#!w0X9am4)z)m^E_ohR@0{m5NayYc9DkP^m}Ecjea3QS(8DQyFy=o<%x0bDXZ>i* zU(rMUD~iie;4)y`7S%gle;fZjbX zR`Q2i#ce_7j>DQRRSL`6AS=Brg=Mt^{pRAbDbH2dYo4ha)*FIOURS=xz!tmNL*e0Q zfbFf=2zcp_E}q{lE)P`M?^uEkV`I=uKTz_rrEF=$eiEX+mansyK=mre0Gohb`U9fp zfze*b?Erc?u5I=3BU8pjU1fX;1);xs#S1)bXte5aV(4!fc{w;j5HPWGE@pNg|(MlO)E zNXXuAU`MvyKrj1^%zClchPUJ0L7%d7+Wwgm_8O5?KW6QbULI#lN`~_6nO>d@dZ#?y zk@7f++~p|(y}aMRUShyj&gAMsz5WF{n?~UO5Ab1}H-xtCA zB6vRp-w(m}NALp>{6GZnkKhL(_y7bSh~Nh!_#gy71i=plT;7k3SF?^elnj&x>}@vI zV1ge)@IwjyFoHiEczGW|yx10AF3sBS5d?oE@bdmAr01_`<;~wZir|N7`HS}DyubEn zf*%fiOZ#k=C0`wT41ynv;Kw0&F@hftI2IR15c~-QKa${2B>0mE{$zqbh2T#m_)!G! zC-~6>A0YS=f)4^O{f58)l)F$Vf`<^i48hA0yaK_)2!0xZk3sMV;PO7J{yx=8f{zk> z40tS_RT2DHf{zn?g5Z+`Urq2e1YZk0*6zm<{CI*to#4+P_%jLqEP|gv@MjbJM1ntu z;Limf^RM%O*T+leBlrafJ_*4uMDWQ7ei4FSjNq3b_@xMb8G=ti@XHZ=DuQ2u;8!B} zRS14Hf?tE+(-8bx1fP!J*CF`z2z~>C--zHhA@~dgzZq~WKFlQeTL}JEg1-%Ty?xw{ z;CCSSECjz3!Dl1*T?l?Rg5QJS_agXx2tEhF??>>t2>t+qKZxKDA^5`x{s@B4L-0ot zd_ICdhTxAQ_!9{JB!WMM;7=p?GYGx_!JkF&=MemP1b+d+UqtYQ2>ud+FGBE_5&RVd ze-*)BL-5xT{0#(u6TufF_*)46HiEx{;O`>%dkDS+!QV&lr3n53f`5qMA0hb12>uCz ze~RFrA^0)`{~W=;K=3aS{3`_i8o`$%_%{f?0>QsU@b3`(dj$Uh!GA>Xl?eV5g0DjG zpAq~Q1pgJme?#!!5qvd*|AF9Z5d2RB{~v=3`naVTf;UI- z76{%F!CN7CYXonD;B66n0|ak};2R?NMhLz!g11NTO%S{Tf^Ul8n<4n-2)+e^Z;9X? z5qv8I?}Xr6BltE5zAb`phv3^IcxMFP0l|F;z9WL~gy1_PcoziU1;M)__^t@v4Z(Lq z@ZAx74+P&6!Mh`P5rXf9;5`t$CxZ7v@ZJc%H-hhj;C&E$Uj*-q;QbJMKLp<&!4E+2 z0};GGf**w70}y;5f**|FgAn`>1V0qP2P60p1Rsjvhavdk2z~^DABo^cA^0!^KN`V@ zBls~0ek_6?hv3BsemsJYK=2a~d?bROh~Ot7_{j)<3WA@C;G+=SkKm&bJb>UO2p&Z6 zQUnhnco~A1BX|XZhY|cV1RsOo5d^P9@F;@E5WEV(#{!P6N5=_1LGVd}uO|2!g0Cg` zalpeLOYT1ykKm^x_!$U(CW4=Z;1dx1Yy_W(;O8Ltxd?t9f}fAz7a;f~1iui$CnNYp z2!1hwUxMJ5BKTzpJ_W%qNARf#eg%SGiQrcu_|*u04T4WY@M{r#I)Yz^;MXJg4G4ZC zg5QMTGZ6e{1fPlEw;=ef2!0!a-;UsSAowfOgW&ff_v93KZW2=Blt52z5v0WMeyek z{CNa_0l{BH@P!Ee5`r&6@Rt$%6$F13!Cyo0*Ae^;1b-937bEyv2>v#Lzk}fKBKUg< zz68PFNARTx{sDr2h~OU~_{RwT34(u$;GZG*G6eq|!M{N8FA@AJ1pgYrmm~N$2)+Wr zzeVux5d3=t{{g{&MDUde{u6?)Lhzpv{1*iO6~TW)@ZS-9HG=a|GW4!M8;4jtIULf_Fmjtr2`11m70Hw?pvl5xg^k?||Sw z1m6+ChYULU$YyqvQGc`N^+YpDwV&p2tm7>ZT<)XQ^{o&++y+cLuS_rh%Jm4SPMTis zbJg|o`^-8n_o?f+T;I`gxi4PF<^C=mm+$k?ars=Kj?4Gs>bQKqN5|!Jj5;o#8`5$4 z{H2b|_wnesd`?Nn<$G9kTt2s{9~CUNcz_S;k|9ok%?*RBZO4Z-F6OjG$o zKD+CBD9;`Uz9)irNAMy9-wVNeAb3v%?}gyKbv)eHMuhb&D`f}3_d)c15PV+*7iUrO z2YdF@^?>h(;QJ%^0SJB|g7?>P@biOo9Lh5Q!3QGv!3aJG!4E<3LlJy1f)7FPp$L8$ zf*-EoXO;+0J3_+`0Q($?;71|&Fa$pu!G|OGF$jJvf**(A#Rz^pf{#G(6A*kPf}e=s zCn5OB2!0BJpNin45ZsU8qY*rS;3YZ^?JKC`;6J4rF8wW};fZA2M#?l?`e8YOS0H#8 z!B0bQ@l;-V9E%`&`=KbtrQ#~oH;U+E2wtV((hg%aT-rfc$vLmIr~MEzOC!r8@uZfI z#H%%2=3j&0wFo{A!N()`=?H!Xf}e@tXCe3m1V08}%1iu`?ry}?j8ZQ0wN*#yzbCrh6@?4GJ*C6;b z1iu!+r)#(zpI@ir5Ff7BaVY-{Iu8095&R|%m-U^Y;nHq5>o|-9XX-ed_Z9@d6~S*q z@Y^+9mh%n`m*t$L<6xgV5qvg+-=*R5ymxE3yk7U{IN0G{1iw$iW&U$CT-NJ;1fPrG z4uX)KaAjyAox54e-y#zBlu$o{y2g^f#6Rf_)`e}G=e{a;0qA^SpYd!B-&ow+Q|nf`5Sy^8bP0YY_ZT1pgm`|ApXxBltfEz81m%MR2Q`AX)$~`|D;1-Wf_Fpk-4J|t1m6R}_eAjS2wsHXdm(ra1n-I9y%4-Ng71ys`yhB91m73I z`|3FONk0VNPshQ3_DApo5d1(5m*cVi8ZP7cK?pto!3QGv!3aJG!4E<3LlJy1f)7FP zp$L8$f*+3HM<6)d6i=-yN_!rK=!fYz_`}gU4%dA+f*+&dGHxHM;j%o(A$T!@ACKT8 zbR5cmf{sJ^M-cxiO&U-3?k3w)if{#Y<0D_kwco4x$5j=$8WjYRa zDA#eYLj{6|bsX|J4Z+7Ccm%;KHC(RSM>SlI2Vw|brQtH4u?Qa5aG8Gs!IKDHjo>v1 zUW?%45PUp>pN`;XAo!UGewL1dKTObY88^;G@QE5O?RgG@pNrtZb9%{ z5&Sj;za7EvK=4@zekX#@M)123{B8ul2f^<}@cVQe{BVwjOTW4w!RKnYwEqJL{vd)s zgy0V&_#+5D55XTr@c9V-n2v*e9@lYbr%xdGlL-D4f8l(9f$I~tm9zkS9Bcouj)AHU(<2Wzpmq;e?!MX|E7+EezA^& z{w*B`{o6VY`ge33^zZ68=-<+IOspqanLW*anOIRNx1X z({a#$uj8QqLB~P=qmF}qrH+ICCmjdM(`aF+=t*hBKS@SzB7V%LGWF49Q?Mcj)NcWis0RJ9P-&s$048H z5quB84}klC#T6l6GL{TPeC&%>C84-4R^|(aB9VlzEEe}A85;}wlrNt6LgUy6;Mmuq zqRAqj#hw}RWGeNdv*R~o7b z2lz)zc`13>*8NOHa2~r7>|ERqjs@bOD#rlu2$H*`dqMhrlyaKwm@ylx2jo+x2)bl1xfNcw6k!px%FziKKI zwaRt(*`F~?aG%*5((jpL`dF2n+}a1y_f^t6*F6!aO~zu$3f77O(P)UZM(tWwvk#@! z25Le@eITFxm3-I-5}6g*7v@6ae6H$L2BOv6Oo4J=StM5LgYPae8s zzp`*Vk+id`4Y2mYvJ90%gX+6(`Pju`AAwBe(+~2I`}lY}wf!Y?Ti_SXiBP_7+(V+V zB+_#D<=w5FFHpulP6t;#;7hP(#TrjljK!>Q!j}kynUlqQiRyR__j7&*r`~pXyY=ef zOF%Am0oX|)KyiLIZj$|=9y=;_EsKZ7Rx^(uFV%^$)d6-^`@({5e@IuNqzhD4MZzo` z)Wjm}QnL0^!@i&u@^$w`!ee*yl~(f)?TMBjOR$Df6YB2k77rz=ihQ!QcHgaCNtj(S z9?D~-;9ab;EbhVeJD`Eidmx-w?%(6ryP5^RxUYnLgDhp&frkuYg_QxLmian!XVxf6 zc|)ljQREwTbn&74`FQG@K%|=WV!Xp(HDt|+^>%h2Vy92=Ys)WMO(;GdE^Nk(_q3x; zBIc_NM_6ace5%CGn|VjL%op&Lj*qf$MF!JL#ZJl#26pYAp?D?k zN`u{#vF?>MJ{HrNo%sh#eQZ<^jurX36^DWq(J&ifM8@xFUkIBJLEhJ`d(Yi=E6U

^_(l2e7j*#CR~-kKMyS;tBeg4nhcK}9FeE%;90zsq* zh=6iZBw!MHui=*7L+B-3l1p-s#$7__z4u=3;0$4zwq<-P4bz~yy-J<-n^N$*{a%X)dH&9Y&9UDysbiofC?3D6)M>( zRJK)6YQT=^XxBw1RHPG_=7MpU2m^+tUPd$*PnTs)#`r@t`E_CN?b(C?0m<<&Tv_pwyG{*F_{f75%YzU7tB_$prCp+9JqA`_kz}XZv zL`aQvyJF)~ghB(F75h?~O?(DVYJ%xFHRYoF|6``=NrAnD@&Uf4m~LB5x{p*o_QgB0 zbduBz(}~ig^90K0FI7$H;QM`;ZgWk#k5oQo8)%Di`LwB4M+)o$lWggu zhP1+T%W2Xzsz*f(Q^rH2))>EzCcd?L(n^!0HYl%&MxOcnsAJuy|F9v^7Ui1TfBPGU z-h9%jNKzQ4Qx@}YZzF?tkdT}T-_lmJ_11PDy8}~-VJ=BPJ*pkXU!X0&qhBz5t{YT~ z#8}Vt4~q$HRXVH2TbI2`k*rRlLvZiJm4(l_L#1?e;5v{pk}KL zwZ&9v?Izok;&ep!4~EVOg8_3S_6@K(igpGFl<$s3yNJ!WnAziPo{lWl^kc zVW@%PEChyh!2F5(f-HXt|5!U3Hlx(>(c4k&TezuLI-ti~J9c^^?WktqNwuR87}6Q@ z*9ymDqj)ef;GC*#N5K-o2Z*A&@xJSbg54=}Ggyt4O)F?1k!+Mh$BPQqSREy)3(D`T z8SkLSg8;8J5Upjfw1xD6=(!4L}_dF)*zJ^U1@eeq%Gl))5Q@uodAM5c7gpERpc3}hKh5uieGttlQxxGj+VufuJNhm52IE4BhKkimcgbC@fE4Odo> zNJmufSU2A+dzg_&$s?~6NWcx2!=yx>GFFqRF`XB5TUH_3WW>A!tr_idB*N~Wbr5cJ!F@?Ul+&H!fa;2NvGo}Y zX{x13d>h%}ak9emiM>0POWf08y}fG0H}!Qlo~i`g@v zbPmif@3x9T!{6oym1>-N8-cYrfDJiiUtOU*?3Tcg62-Pi%sLEekRv`SHJ&vc?vi5fYW6O0Jf zN0C?dQD7T%Z%Y~ytFMiZ9W57nY69nI6*m7L7xSalu(y@Q_{Kp7)V$WxodguEz}*9Pma z4VoBHn~D@;gHLU~70V~O6le_0oxY)X>d`v+t%MGyOhk_$-?wy5l;1+MKRbJX$rjA* zz1dXi=7Y6L`BI_}q&dJW$a<$*>#=Nh0ICXzOfiu$rsP+v@~HA-P09C{f3+S&{#8Jm z|2R|f{pDX3_fYvRl&|!5<=l<$TfB!K>AEqq{_^IBNWCzAC((W|mc&}cI~ea=Fo}U_ z+~$aKCwbT$&rb^3>djShtD;iKve}dGG1LtX>ISBz zOHw?_57WqJOGL0w{!_r_rfB=#RS0HbcS?{g!4(}1`Cu!vX2$ZKeP9JA_(_M=)00jo z5!2D?XE5=m#-nEPgo`C5VS3@3`cqDBo@~jI{iKuTiiH!RC!0P;C#WC?*($>SGsTIm z(8>`|D#|T``-*UoD>gbXJHggpnOWEz#0R$v&i|Pr3X_A@0YWufMKg6Sraxv5IwjbD zq1AQG2s;zSLIE=&x0ZQem(31?xo*hWT!G?-6Q&NcT@2U}gjyzw#q7MGS;IWYipo#l zA$Opqf*}n~ZMh*?m`Hr;OHr3te-r70?TD?StZpz9puqENa|IXVLpHoZu^swm)E~Cr zqt#y;*53e4zt$gyBr~1U?Q;#o`yQ$NEY*88z zGzjJI!2E}D=L)`g^}5+qlzn@Y)n-m~I>Ctnx*J#)MO(vPFdId~))`!(z-kf&T93yS z!_Np{7UJFntb|&l2liCfnWB?Y*fp|NuCuA^|M>~E{|KvtwT_?ox;=g-(eG$CQ zW}bLg6!cURIZ-Nf24%=U^=1^i!N`Ggf!*);G3obiric8=`hm8LF?TpPzpDjMilRSiwpqIeksqQS3(>2F@8PuNIVF*Mo7dLEAT za~l6{3MasD9L973=AB|xFTy2^Ib?u*Sjiorx+|Vm0m|GfG!8hki0aLEJ`U#k#XOwA z4vMNNTi|(>cwpy(K77Is!UjPA>{UEAa2gO{itiOGlgNT%D**+HWrX`zfePdVr$)AI zfw<)%YDk$8SYGj-j>YmqzXQi7pTW;`K}QN`Yl>n7#zU|fMe{!Elf5`l#L}2L;|9)*mHke#1DsLOAOoYw1J00e4&#YS0>2dIq6|w9oJhjVu8fzd zn9n-e^@RJ)>g@K4-BDQjPSTWB-^ZA(P1DU=66Kaqx0BVH&rfdRhFxx#3 zjDzzaIB#a5?AJ0Hi@vgB(%AF^0$L^ULm}uQk<6Qz%{^GbZ1TdX2oD7G(P4^an>{`| z!5R%G31G%noOoDd?|BBV(P>zpJ2dUCG@`CPz427l{^6Axzz(P%u~M}s-JSqtPpeh< z_?ZYR4XxuurQUMbRBtC141y zyPEFc?FA5~^e*TJyp#K!qRqs7m)7Ll_&h5_nuYN)<`;ELaf6O`da^dZ%*OiMsc8ql z^Na8^)Sk4mh4LZO_CGVjC7qOc=O?!MD^Ww{VL8ORprJPIPzI(~H(WAM%*}9C$u|sq@8wG2{v;sDyNOp6L&dw- z;bG2g5w1RNTRE;iz;8k9_!@RHA|No)*@rPe>2QNr8@g75YqapqS8^T@$QJQ3c;w4Z z#n{Ca?p46|iXLzwZ^U*|%##N+Q|4O3{Ho)?9R(@?9Mu5#&ICa)6~NyM}L9yTp0rsE(#ZeA+df?i^ZkgfL z8r-hMIpg6TAUJz~haD(Fwitd)AY_BK$;{)P1a?y^fO!}&uS2eoM6LZP-0<{(^%Fw3LFr=X3|CH%XX4R$t&lXk*ps?8j7KXc)FDW(qA-DQpIr9|vsC zq2VDfpcF%ODp}$OvC(c<3|!TG4eM_-jtkc0(7wL?f!QY>+QXF6v8j}GLpTLsKq6l? zd-h}^*_sO-D1y6U^y~@!Adt1KHZ^a{mVvx1z}r(_CmvHh78Z zdfaSEuVX&NIkJUzWmBI|n}PuYMh!M37%A9YJJuuEl&iF!B)x&@rE2=0-md7|Qy>{| z5sy!T!3kDnpR*4zKZ_i&S_-l`V?)4f$H%v7$l=>wHaW7|D`WygvCE zE6y8`cC-@?{@JmlxJtv^$Y3c{c7BQ@mf8kOvD|&E_sewc%~nN6Vt;UuOpJxyE?a&1 z&0@`kNVvJqjQ&0*EuQi+%*Ph%`C#T|vL7h5teT6{`GIM=rOt2+?aDnpZR~cbavPes zW2)Z5W$OZV?B!UV*mUL5bRsb|rZHblZfS{gLS=zBDZ9t$@UZm-PH4dcimz%(sc@7H z14x{Uum<2}PO!s(dja(L5NQRb+tp0E-otry0ro_>VI2l@JKR6>9zVx0pIY9xy=O5> zL04jW5kBc@M~Wz zdL=Qva9BsY_AMU?Ln=XSL3Ezcw=mu&O+4ne!+R)Nmo#--n%S>noII2rpFn*mIs}^z zdh@kE1}cOpdvH$R1XV!e<;X#F%4AeFSEQfQ*i;<}{fgbahqV?=WN1-~PlC(kti|Ch zgR6%SpPiHOJL0Rb96~Q;<^M0vQ&CVln6BB~K{ynI`i1KgOfS&*H$c~S^i6_um{is< z{--bLZC(Fk^}*UTeUpkgmiwwQkB6jG&_Y?;aIJ)82nHS;UqQAs(}`G6aD2Uk>1p3B z!0YI2u7hNgBBA;ELWx+fb-+z}{t5?EYFI~n7vnd;e%Mj(zY6CN+$YXE_*y7#=i%^{ z2a^KlGAOqlJ5^VPp|l$1s(zKM&+&Ifv~#esP~p)7OdqHin@C{|%Gdh+Jvbq47fx%;fMQd1GwK0Uz|LtFiA0e9L^zy z!<>@Prhh2i4>4WwE{$&A!Sx@QFv8KT5T`IWmsW1Iu~{ZvG2t3Vx?+kcPZZmh>`M0D zCXuAgn2%DLdUt@MuRFL>MVP|i=p7E9*fh^li-1+z?dr#7gf0H+jg4P*djLwFdPu0t zYakoQcy*?X&FOY0!BHA7GDPAYDNNUZLnMtO2hRH+VY=cwTx|X0^M?O)*>a~|tkF&_ zTKxqUN2cW{i!zJhTeJLni{j_Q+zr$niSn2O<11#W2)y(W!EdB0Hh!jO#wNjKDn-d- z+kK|y@_Q{lb{8z3v=z(O1KUHhUcxq*ss5^-&cx!$zN$ANhab2@R->X)*@>F>!WLVv zHJY0wZNv1me$D!KrIbWGUhT|sDw6aurqf;1&$u7HZu7+VRF7XQX*;H;y=SkK%aH(g z)s(jbSbu%=s^cZuf$7v1<>ESs*AfQiIB?$Jo`K+ND{d}v^)CfppJGlo%4DTnpOrpA zc}-DXC|(|ZB#EpZaW5zO*G`nL`Yr483mzVc7IM4`<%#?Le)4NYV!9lEit;O9eaPPH zgQ#vW<0{lEH`u}C548-6GE*yC>>*-4$M_qR=u$(x0tr_z zppGLQDWLJ`{aRIRPnkg)gVodnj&cyg(OYpH;EJNEKzsUwM?DyLnI6X-(t;~+b+WZR z#MVah-i0SM2K)+LY&BzCzJC_32u|kLW^*REASsxv*xV-^XL%R+0?V=XA?5JE#*C}> zY;OBE76S7AC6+_j7yY$|l6AJ1Vw2!MQ{%fapF^>}?dlastXZ?!dqQ1c59UXV15Ld} zq$YAN)d=W4u$=%)G@Fdo_K!{jUq{bgj4$46)5iA`J25FSSSLZLh_6tNy027yba-Pa zyFttl8_-NYV()SB!2u%nS&R>F4*10X+G2ct`uiU<{x@dgi$tOPqAEoBzcmwI6xvVx z17_lfW2O0tf6z?)#&rBc7(cV-d=1`Va3z4Y$vmmzU2*I|3#Yhgj+1?Oc(~F(RJ#dN za9#YBFE|DTa|T?e0c!?0ee#Vs_rOwpu|dNF1u8ViW)HH3^Nm4cexSuo&0sVZsj*Eo zNCRUAzYxL(0VuW}(1eru4Fs;LGK^(MnZEg6Lx~60tu(yK0?)KDzizN+x>FOGdn}Zw zAH0?XQ#X4*GTrPfNryA)#c#cQmr*Z%>*YvBz4)z{qgXG+aNX@4p)5n{7*}?f&VErY zrYK3rEb_m%$Ukn8{{!-c9V;AW8!GDtklP8%ts>jZ{Pl5N`rr_&T-~%NZ(4Q`0;N@-%4lr z>2FBiN+&pr>DTky{@k*HDwB`q=wtl>lPXRRA=0^r%Jb<@W&}zu=x$$O$1$uGr z>%^}iu~Qrt&+F5nKhZyr`I~|5VJ?3@_FS#ClQ!G(YfAhC56r`Ae7JNaJNmj{ldISo z*wHFKie=A?z%d$o5|ID9fca#;Q0!m0wyLp3AaUmXq3r&^e#$m}Vm-Ks@l%xOJU%$% z!9@wU5)LMM)o#FJF`qs-sbP9Av_x=)@@3avV6^9s3ElN#xS1hI%D$H$ax3iYs zRg3A_A2Ypc7Sn6|nCbm)F}?7|Oz%3Tr+o)Q+h4>f5i@YISw)$hMDIy-_DcZ^aJlx1 zC5zc+;o2qZ7k{AKE}Howom@7@!-)yl<>4YMoAub4Jv&Qb8+BJAJio;qtJuK{F0P4A zus%n^%N)#MgB!?jqP&6WY1cnRBv^2?r|@3C2PFUn>(`f?C{KI-F63!X;Z2H@ZlS!Q zn)-nIo;bKL6Pgm;M!xTRwCqhgQ5CA0k0~FjXMzy%C&t&lv#-@s)WuJ8TTe0DDt>_c z7>j#Qu%~z7P(<WE8b-NS;Z^aQAQh^4Pjh@3W&3q z;+e#3noZh<`OZ@hP`>uQnVNmkcq~gkT0dm$DJ4U%YTCtbJjLRmXrnd)Wla3%xpHkvZ+fK|0%Qal}%Z?_*pQ1aV&orTp17t`rh+@{>2l;6AU|a zR*W}LQ*X+9FU%)`ok8N4In=JBxVR`82vkpt!AlT6LIlsT@-779DF8Q2yf;AW^UKFf z>&Deev3fV==Zd^elng!nFUwE1e_4LA|I6}|<6oAafPYzja{kNm^US|2Ke;eJLXXs4 zL}xQTQ*HRN?1_V`TsG~TlN41(S-TyvIG;U>@`PU4l3j_iAS5@&7ycbB`8&y0Bq$SU z9+V^Av2B~6K4v{V|AgwP&=anw7oKoE z6@JWmD)NNtspu1~rx#J4@RwnFp=t^S_m5QOZl!E|6_tqFD%nL+9u%Pj!QKxZ+*D54 z;q)C;C1odq+jZrF7Angc>EK$)HhJ7U%%z7&FX`%;^|j`Hd&;(hYR+>%q^B^@g=OQ1Z$-tXs98EZLi7f*0H@xpBkI9;$r9q|!h zx>xQDRH$0MVuh;S3#ATrvr;)4(D>%2Ilu%BI5!3ezhR}rC<|Xn%-;emug>0YE`RKL z3wSR2$)=h=xY5iW)nT6&gih_f^a$50ehRJ4@heXvzv(g>QK4G-N}ASxSnXQNZ)wc$5cFpXWnM|}p$eF- z{C_SA9GKL`^VS8kU%&-7{y81E{?DHE_j$yRZ!H7MmjU78y*;(x>+Xemg@)MdU`STn2o**c0P$VL}-M+$9xR(XLo{sy^Mt3+Q{!Wafayo+wbV8t8#H z3*h5KOk7kPJh{tD?SV_YVX5rw4EipdLiHEl2?29aGR(E`UMsWRv0$!M0lwo$^9iM5ZlB5caD`+LV2G{yS%`58TZNDJB;s> z;blNJ0^!jCWqAO@BeSG1voNcA&5Fc~R%QO7bj$uj>Aw08r5l9l4%4hR`g;pxE5n^_ z*bMkle%K-bxGj=)l`B3&y z2b;xVp5Z9Ixxuaudch#*b})9BffU~Qgdq&~P|`F9+59YlUyDlt<0lk~cS-i9EBgae zV?7t%3RRL+`>c{^2d~8ykH5zwB~t0hl;a^TK}tC)KY?;QERiZtrW_A(?NQ26^$C>YVTn|GGUeba zqW35yy#sUgCs2-uB~kiNkJd6>{F1~WUT%P{`Yck&NV)BD@cYoIZTcKQWPg0c&6Or;liL+lE_-=4( z7q>3xj(?Q<(J*f^s{wz~#OI?0tdm0em>qc4iCN8HTcf;l1J63~M+G4%Xb|ZT=(WZ~HfuKkPqJ{&s&;`NRJsgAG09J_R?J7n|C^*+&G*kg# zDgOqUcyfr@D0O*M%|5K0oiV)*x^l8bh2{Kl($gl?1=A7hp{P&u=_s#?v2!X`AYRe1 zqIE^NqTf9kxysWh%tXpRh~P|QRl(M;WOxGseuwWfW4ikOVZJ=-ZH~5hh9-spnxs=w z-RxaIFio+ckpjnnNii`Y-7#IQAF$Uhqtps}q$N5CpJ8Jard~D<_P*Z+2Q4mekbrW* zBJKohwk{j2bHKkInBFMmPp-FF>yNyg>gN=6sR;W!Q#@I-V*Lu(e;u%_L}0$!YVzgh zxqA3$koGYpcw;OnnLoJ&9}*I2YR9j(%W}y*F`dzvj^;fZ<+Lsilw9_RrZO=wi+ zn-*JtjePN zz|EpeMIG(NL*9p13;}$=Eoh{q6JPCY(|Es{`lSv zhBAz9s0=5{7vFQ!$>*QE$7e(zDS;T2ALu{-?3`BVF>H2W#m9*)7UT8MzAu2jNo=6# z>cIPaih89A9+Kh8Ye+ytW|L=YubX#o;fkKdeE<2Cezp;V`323n%pAqO^2MHI2ZI7L z-+LeZP?UJF;jK`6kx$+FKM#_NUxKr=%M_Si#^U7pgdd7&M)C* zPUSp7$s(KcJjt-UF+X_zwsC+Y#bJF%`_#Age!$;a<18Uj=RDE>8?`P;F0A)Q9^YP% zaKGcb7s`M1@%``wdZT<(<2w#MCV=BR9^?J@$2Sz}KQO)%u)hC)8Q=enT9>3mtao8Q z48`Xw(V_+_Epw{ze=4gORTV$9B$T6l=h3V8!nX(#RL8YmNs$roR%R;Kb&@fjIzE|p z25U(y`fU9&V7+=)0h@TA4f@6YWedl$fxIse&vM+D zl&|$e1aAk>Wjvr=h?6|lVob84fI{a>OiF+^;}stScq)|N7w7HRALR-EcBY1zmd8vC zKGGy<0Ll}7wfn$fmXkli z3i1Y_Jnj0d5);`w2UvC9Jn6Il&_o8KeD*C#_K%g{J1#r43xj8}coET1!VfLHX{lKq zf^x*Tc$gffH1ih-ME_z_4SsVM>O+wWuG2_O$M_AM#ZsrfprPk z+JP>wq|SEOe&T`x4g2j>`2G*;LExkm2cIQ|`eW~r#s`Qbz)Z(Vpv-1sp7g%?zngt^Z>|PDlDil6$7et5k8AZ(kM(%*3`c`$@*-&jlpnZI3<|dp(0f;I6vtIq)(R>&|kU}FkNkbGhHtBz`A$zdkZM~ z9V`&K=8z_0dht)PoId$r+dFTj^f{R1r=DTZvttJbTrTiw%bqX~q(&-JD}S;@S@{AK zTQ}QzgF700)&-_Ii05LT=D}}$!297*+-AxQDZD36#&m^UTeS}+v6%y=DE4|Vbblv& zol6<0?5Xf18`C3M4`<)#h2=)m)xr4~G}kF8SGA`?+B5m zqCD|#DjP4Fr>oIP6N<`TrC>7(uNg6*L#AQ;R+{#G+;u}8-Y_vtNBQDhn&nUJZaxb~ zyQVUG^emRG8)6W0gCx5s%zVhbCQy(&1LbPJKf@$2)q;*CNi#8?RuA)^AD@NH?TmqC zk}XYY%_$W&3*~9=zo_!GdX719(rlEc9pB#eQ2Q)sH_&6DBP*YK*1D|tnd<|fCt?>6 z*%yY`IhbCgrv1~8FK>LcZACBhJGcVWjDq zMv_u<%xC{0G8dpc?RrS%i+|2hINvDCjA&+QAOIj4*JTKFXe zHqWyONo@eA_r)kj>+kC=pW2Nq_IJ^+o{-m3zPf*A^ACSpUXzM?d_ZUP4V2@5p8%Si zwE^kPAokNGC|~;3#?Ek$krk$4SuT#zqJ<{t}U<<{Mk-Xf^C77;V}}ottERY9+m>QR0Q2b zT8`<6eUYl4!Z95zv&w>@S4tt?3XG?n4|pxY+=(+~`iTS*T#4~i`x5jU5l@}p{lt6| zFtwmzmyM-yWe^0nu-Uj2{9gp(P*aZooa;uay-afPnQ zbRoD->0OOO_@`=B#f2T91i@iiVlel=^ad0doNe9FDe>0l|mf5^&;jXW$()}scRxo|3lyymxXwz3;0e6 zNM+9j!C5c=@UXa;3bXCIn4j5x>p{s4d}_?;PO{ic-o7Tf-(xk{YRsqhy+pI^^|1Vt z&E_ZntcuoPK78~Yjd{pGZBk4L%H1SxOJLtnR;~bY=R*&?jue#yS82sU_#UR$QPV!& zrnPP-;fKfR?HJPgm`(#tIzH;I)q?TaLXy^^T(Pfhhb9!o*zoxC>^hV$zMI14BX9jM zXGz7yNl6xTA27ACTc3Q4@O>TEaNuzc<`%}zb=f2inmH;+>ruXcyPaRnDxGvz6&p}a zn5KUD=u);f;>AziJn-(lEi%m!>?_?C7zSAn3Q)Zvn70S>(EE~tKP<{QXd2+#@+pJ-(k-Z)oE$mS;_SN$Zpkh|r{$W^RfkYBbpW%>Q+$;egn zE97oPx%D;m%eH*VTeiHq{ESIvKebip9VxUmbpVHKLwRCfi~5$bwECLY!2&L9wYE4| z5qVj~7{OsAeT?#|WByPcw~f)_;Bslauej|fN4xLv_9Ku4j}fSbe{IfKMQJj%1LZtv zJL)GW_fhSrJ2C#_+EI6*9PPgGQS7Lnq8zc_u=T)KPw->Uv|va54CVi??Wmt)x>~)% zbh&)&m&$1$Hx!Hh<;RZt1*Z2;*-^jrQ_t!5mr7ecNjvIpOt+P0Uh>&*rqi9+T;#`w z#SSkO8c663~%G)ejj<@MB*-?yJ> zcPnh8;b%Oh+p~F-)@@iq_F;N)WP1MgVUM5g*O;z2|4%8@TO)@SO@b>iwNOKAH;OE_9Q{Tt5wiN z*@*@7NL3X{M?7qS;n>dws*z6>A3}NBcIA4#rVja)3to%WJHacbt;v!;+*QXnEmU zc_%1&J}gN(iM&F7>ra?rJt3!%SI|%Wd0CQlnwAGO<7J+q@_#jw@57d)OUClUwel|;$@gJP(r?HY=a$~_52n@#s#f9q5g1R{ zzePJdJeDL~HJ6^QmL=($ne@`dlBD0wrKhWPNxE((y>zkQ`w8aK)3t&m-7u40x>%BQ z6XO+o*!a=dgKr`KMcq84X=x2xl5QKzhxZlmU=3D^KaJ%3uqEk^v3z)U!7KkSBl$jT zNxEw+AKqi|%D-nM--iwF&Lh7>y873R1Wg)@`T*m-tZRpd#{zN|C4xbEx>}Z`Oc?K> z>7|P$Ntw;1r>k{%_TEf->0&|g%%!Jm1xdVwCA}@kJP5db<@X8EC;5ewd3}NdxhW~&NN2hQwyp$yFP68$szG*zYDZ(u)Fey zsFV|w0Ke(M&g*YVFDIsl!&gdlB=Qz~hQMG)i>qlDC^Sf zJ|lE6)=to$qn$DQdMDI3?|1AJLUcl}g%ez^odHTlw0k<-qOgcc9~Rp-O@NZ=;FKiv zNQB)F-=uh$k0XoewJLZ=9eO76ZtIK(S6k>2-h|<9pCTe8GuCTA{K-n@h=Pw6IimXG zy#Y9;hey;?_(zNQ&Aq@D?Aap^+*O1OuqV41TE?c_UsQHgihHhlRI0HH`QMF&h<@_! zKbwyr=5pl$_Z5EGp5Kz@8D`@NW&y>y7yjT=h%&_};|sg5r1gj4*ERcSUSxiZ)26Ig zFK=qJ7d{EfvR~L^SjDgzKH|NkpE%Ml?-RYd<%b4Ha@(gS{cx| z;&_LlYEDpZzrxsq+qA;a0sf!aQLg`UH6OW#(gLvV!JRE6$KNCuuH^E6Pcpx7>JyR^ zY>~Q!Sp|}i2BzWAmavC`iVqCBg zzR*AO52c&y@zRAV^H<)!WO*Tkm-ksrS9@;4dKq5^a601)TKc-K8NjPwdGvryd|1o= zYnZ1dNx3mSt-aMdZeXau>#uNs03M+cgMwX|hc{|qlMeF|tg9@g5Ov*mp*+?<^nQTq zXkn8fOhC3+N3uq&;*1!>bRzYQ4}TfZrK}{F7t_`HyMp@wJcz5_b@wj1EL~g_l%zCC zYf@w@Mn05VT2n5c^#aGVSbgxCvLx(^Wenn}*HFX-XXNL{pOf_Q6@8Yk2G9b&E*I!3 ztJ6vY%xb0T%|o_|!V3`0U0f(HY_UL}6y9@$eRZimfBX^QVBcJ-HIK%6=JYDA=|Bfi z)*x@L11#y%`dkO_&-W@Sm(LQ%b1LkWxlj*f{gk(-2fkAPMs2n@Kayr2z;rEmSV7$0 z)YhT$k~nmE)IJd2CN{e}dJI_Hz)hhALmOV-=;e^1}))2|M!Nx_?r7D({ysVE%p6 zd&2uCO?rhfy?=0=D!WJAWa!6f5zODeZk*a5K2D2bzW+z#6nEhK#sB}rI2HEJ#~r7_ z^dQb3{=t6CpRuOa8(|Or*Y)GZ5AVme|7|~3>hM3b-n@+U^SJ#O3oaE$dA{@i6Smih z#2_tUxAsl%39mPr^h#p+{=sn?{xH2zyfgBz8>it9AE)B}%KvD+QR?tNG)~3-=W)j= z7F-JaUyM_c7^EfkVSnp5)uboBZ>&vE^AZ|=9}m7J?gWh=P7#>zw`x8TH~AIwwa=vn z<%71O)?mB*@5e2>}JZV=TQzr4iX%X@OENm3BD-yr;qU#sLApRf8hUBeWUqA`d`&|xqn%Gi~I1IF<-&x2rc}fg`GXP zLI|gdd%t>I_+jIAToQ7{_Zjr^#l03iU-+x*abedI=N968t2*Xej|+c6Jzf*}dilbS zRgc#u_`;7?&#z15N6feS{M0A-p#?!_3bF^ZhBnUhc~S`GD3%o^=~BN z`g$Bi;G+@OkIylL{ILW+j=;wg_yhuXAt;I0-r_T zvk80-fzKuIc?3S6z+WTq1q8m3z!xE|ALok^*Z0HM3H%KLUqawZ5!d&JWr*wZvz(B# zg1}c2_?ra&7J;uqJTv|j`t;lQw?6;xAg<5x0)L6X ziy@9bRJ*W^;J-}Z#Racp1d?`hQu(@rPOuuM&6=fd>?9SFQ5fp;SC&II0tz`GK7Hv;cY;Nm+@`gtP)`TF^=Cn3i{;E{;y z=j|whFTQi6&ySPf#}Ifd;`l@D&v69bMc};%yf=ZzBaT1RbQ1`EB7r9ncrtD8U;>;KOzCN9g_@ zNyHmP;G+qA41td&@Non_p1>y%_(TGqMBtMNdd+)e;;v?@3jPP z9f7YW@C^k10fBEM@J$5%A%Slu@GS)X5rJfdT-%sG*5cszQegJX(e0>mceYp-1 z_+bM74skIKkLdnBihm1O%n!#9(5L@B!9Py$e<1iL2>wZee~RFrCirIv{*MIzCxU;L z;GZM-KNI|42>yA3e}Uj%B>2A){7VG?GQt0i;9nv5R|)<#g8w_gzfSP~Aow>3{!M~^ zi{RfT_uo0;H0Mewr_{Hz53X@Z}P z;AbcB90VRf;5iBW83NBm;Lj3xZUWCk;CT_(w@W?(e~!TO6LAI)T?9akIHyMO~Xb`^HAbg8K_(uleTMfdu8H9gq5Wd|Y ze1}2!CkEj=4Z?R}xV~LKMO@!6KO^wZ3H%EJ|B}FW6Zjqi-%H?M5%@j=|C+$}6Zkg- z{w?CvcsO7Xe$XKNkU{uigYfSR!jE9MzCRo#@M8r2J%Jx5@E-{L1c9F<@KXeSn!wKx z_>Tns6M>&4@N)$IGlBm?;O7ba0)by7@Lvi15`kYvTt5%|M&MTn{3?N8Bkz1m2jyn-F+Y0&j-6ex7Vj;4KKeC4sjh@YV$0263ug+Zu$2 z8HBep2oE<1Z*LIZ!63Y&L3k&F@XiL|T@1pz8iaQ<2=8tX-oqd~0>kzFt*1de2N5sQ zAYK#^FWMlUlZY2X;IRZAN8m03??vFf2|S*_69_z!z>^3(nZWxHxSPN|1fD|Rsfbha zKwpFKG=uPd2I2h;!Uq_H4>SlLWDq{sAbf~H_)vrJVFuyD4Z=qlgpV``A7v0e+8}%k zhU@2%u>?Mjz{eB#1OlH(;FAb^GJ#Ja@Tmkojlic9_zVJ{N#L^xd^Um4A@I2bK99iX z6ZmTczJS0N68ItlUyL|4zr1b`{stj;34t#q@MQ$PoWNHQ_(}qQlfd61@Kpr;9n8=J_7%m!1ojQ zHw6AIfgd37g9Ltvzz-AncLaWfz>gC6F#`Xdz>gF74+MUKz)uqRDFQ!D;AaT@M*{ze zz|Ru+ImD@T>t}=TUkJJ93H$c3xUnTHs1pYgLUnlTC2>b?t z-z4x`1b&;q|0M7`1pXI+-zD&S1b&~u9}u|sKDk~W7vCS({+g%Hn!=c}RduGqvdXDs^&Dmz_$!63XahEwxm5hC591pXp{ zzeM202;4^CFB5oi0xv<}B?-I~fxklFr3pNcz{?PLSpt8Rz=H@pn7~5_yc~g-C-4dc zUXj2n5qM<+uR`Ee3A`GCS10fq1YVQCYY}*D0t~YJ-z0B< zN!~!@74cWk?O?=vG?fjUK^FOgE%Jw0i3Z`5bm5)a$UgEX8-!0W2%l;YKFuI} zxGf38LTJd6DK7WuDP9Pa+! z?Rvy`pFU!|&mJ+}=Z_fg zi${$2CB_qW18>J{m>3=IN^tsiOKG=7{vM0`y%zajS>*4t$p6|Rf4@ckHx~KdTI3(F z$UjK(!VTUI%JW5*dqTsi~J)N`A3m2^w(BN?gTJw4RGkDS>$K7$bZTrKZ`|vR*U?nE%LKj9~0zoSKdCyV^f7WrK)^1E8( zceBXvZjs-^B0s_+zo$jM!y-S@B0tI^KiVSSX^|geksphETl)3AVZSJs#~JOr%*R>e zyDaj1S>*S&$d9+kPeA_jSU=6fNcY?9Z@y(W2IndI#=$@|(QZ@)?2Hzs-Cn&cfY z$vbG0cgQ5~uu0x`CV59p@{XG19W%-M-X!n1N!|}8c_&QrPMYMMGRZq_l6S@=??;oo zpG@-3n&h1`$@|$P?-!H2^Co#0O!6+8%VCliV3L>9B<~rMyj&)E&zj`rHp$Cll9$&cFP}-? zb0&HDP4Wtu0mre4Do8*-+ z$t!7+SIQ*s6_dQu$P?$qs{P9M7+nf9$tz=$SJou&Rg=6Rle}P)ybzPTawd7@P4X(3 z(o$*X0OSKB17j!9l!le~H+dG$^5LQV1- znB>__@??{|h9-H9O!69=Zczko`$vq|;Su9?e8hO29x-0$M~v46Byb0TM-q4xfkzX#lfYvLJeI)Y2;4>By$HNFfyWbg0)ZzIcoKmp6L=rQ z@mjTHZ`h&*>nLsl_Yimrfu|C9Ujk1f@O}i|pTGwY_&@?5MBsx7dQaRfe|z$Xy+L;{~g;FAe_3V}~0@M#1- zoxo=h_)G$yMc}gud=7!nCGdF!KA*r}Bk%=?2Wb0KXjoWiX9ZYj5WdJDe6d0J>jvR( z7=$k|2w#ff`uS}c;`;S*If1Vr@RbDqCV{_2;HwDyZ32G>@$A@cu)gzY;9UY=P2g(? z`R^gFuebLJd@X^mBk=VEzJb6$An=U@zKOs;B=F4yzJfFL z-%j8=2>cTQ-$~%R2>eq5|BS#tC-5%_{7VAgP2hVFr{<@<7_RT9UlI5|0{@!8_Y?Rx z1pY07A0Y691b&FX4-@!z1b&3Tj}rJX0{@=Cj}!P01bzZ>N`EcF;J*_1B?7-p;J*?06#~CX;MWNJcLKjo;C~SK z4aBMbb<-gHmO=P!gYZ8wT;IR$5cppNewV=S5%_%qe?Z_8ewa_6&rAfKnZTbS@GJzL zmB61S@N5L0oxpPtcmRRtB=BblJQsmKOW?T)JP(2ACGdO%{v3hlC-4FUUXZ|_C-6du zQ{(IfgYd!z;YAF>iyDN#Xb}FAL3lBPaGOE+%Ld`a4Z=$pgqJi3FJ%z^ia~g3gYZBM z*Uuki2)wL;yjKmvgABrh4Z=e(oYEu98HATN2(MreUeO@D5{6UbsWOJ^>$?hpS0(Uj z1YVuMYY=!%0R&C1c&!M$HG#Jw@U{dVM&RuTJeVmIC-4~rJ`-_j zJj^l(pKTC6he&rWfzLCLH{T%qHG}X4M7j$Jd=Y^!Ch*q@{0#zMLf}gYd>Mf+C-4;n zzLLP-B=ENgd=-JeP2lek_`3wYn!wi(_ic_UG9_X`S}UF0D+6| zTT$f`_a&%s@eUakF5W|;!o~aPRJi!Q6%{VtH=@GDcj>8c@x2l%T)bmOh1;-RsqmK# z!iyV(moNw~X%Jq@Ap8{!*Y~f|1RhA>Wen0OOT>GXz=H@pn7~5_yc~g-C-4dcUXj2n z5qM<+uR`Ee3A`GCS10fq1YVQCYY}*D0+&LJ+^y5pVTbH6gzZfwv{_FamE!;P44M{!gFJ_5|L6 zz&jFnCjv)z%5?SCh2VE3@NNX&9dT;D?_m%gLCEb%;0^+hM4ZY;6cI0)z?}phL*TIl z9!KCV0`EoOy$L*?z!L~Ok-(D>r|K`6h}Va}-30C-@Du`1CGfrko<`vP2)sXm4Qc18JafW*5|hdU)gqQ+YdDcv`*_guvMSvrXTDI9k}sO_CAFY zyM@d>vDBG=T-4+hlS;qcbe(6_mfC;L2x&LHVWDdU&!y~cQ7PxVZD+$KTwJ`nL3~)= z_nPDmI#%3~(C*o+%?l<;l`6QMo;s(3Dy1~)bN1QbF>^*89{JY#%$YOWB=%p4ywx*j z8eVyL^(6XO9{u*7J7dBddc-MX_rr~zjgQd zZMR3{EH_|x^IP2q?Y`eU;^yyrd-VCUK*t`br%xY#Z|l$PkMy{8@yOPjsqfWGxmV<5 zzg=glo#=OP-=?CQZ)`k%<-_ay(zcyjoiy;T6Ic5E^3ln``?uZN_RF?g+ppX!cKh^G z#qL}knS1crGmY!sIsZl7`{P>=xwy79;zfRkJ>t3or|#X)J@oFu*B|_TWc$5) z#U9)}vi-sJAFe;RcWP}w*A*w)R@ryq?KORl47hl4Tiv0yLScuJOBO!(TPpC2Cm8MHyh&(#}N{;7#n)%GBn2Hs9xlS)FJmdb&iY(rf(_LZ6Oc3Dr2{=LIj?kw<3LY7Q< z<~@_Se}_d)({h!bczsyIAHLd=(B%8qUcJz?@k=i*-j~1Wfw~`-J6Nw={@)IMeXdZ) z)58y5c;m|L9}+K2th*}m*ys6vsWZ*}R>kdS!lR39J24||aW&Z5mA0u}!zW@5AH|w?N_u$p$_211MT5kKS3YpR}Px;KVs6lg(HDThg z$*=9InXj`^`@DbbowAdv*Xq#z+~MfG zMK4$V_~_aLtv)XENpPoo?P~|uDx1G_=|hp5`!C<;9(A@-fv4ZibSUYS=viIoUjMS} zJJAU-Rpt+Wf90T`SC8m>XI_J#_>Fre>m?n&xvl$CuU6gvq36h%T76&au|Dxt{x^Td`)O=1!{uXpVFuH}Nn>RaPn z1OGbLvD*g&E=SFc*u4DC{9me$ZC|QTr2AIOr>5RGb-d=)+dE3^PwRdpW%ugF8++Wj z^l{@`3kSElzH9&M2REOc6#VL)0dp^X^vBOjmQ3tAX7LYeU4PxVKYL<_ee>^~eyZ`a zU;p;oq0!wlAA7ao&FS6bb^ZFBT2kcrt%&tQAM|~tdA7d>e6VI&>&vxo?YOYIQtVgr zrf+F5_vD%yPyPN&&yKft-fx%tME@h*v-O?XZSa-Ln^sg^^W5>#C9k)h-@3sEegEjT zKC=HW>sB=WbYtv=lb09Fy>hHpzsq-i{r5XCeh~-2dm^F2~>7etdnu;~Os} zA3r^N!_?I5zeLpdY|h~GGp1a7rc1t^bGlvI(dLEg)9;ljAG2)d(?8w#qDacluI)eE z7xn7CWA^FuU!1b9$_5xydnQUNZ->?|KCH};Jkzp|n|uG|pq81l&TV_P%UfYRHZ}UA zptoPuKbg2)LdY+r%Woc;_k)pA_F+=?7CAB>=vEE-{Jzu@0hw3S*gv($i=~H`>C@O= zLYWJc4nJY~u!8#+|MB_nV}INH=2r_&t?%hbikQFc{)$3l&yP=RcdYJ(&?~nKeYav^ z+#gr7Wwx~`o8{ugiwkQkpELf8pZX50J!nONRZSy9K7M=6nx9|G-{i9oY7~8~bBp~g zX328tHu(mZneCW71Tq8vEtE6Q`!QRl@k)K29zE;D;hB5C-0H`{+1F_E(`fsu z=lyn`dH?u{B~9wzxP3A6+vUzCwHg)Ix>v5I4Od+oSiA1)3qJkjnQO6GZ|9G#yrxRu zl&Y0CR#{PddicPjKdoBrD4Y1+k#i~ERquS-Gq%^V)Wzcp=9VvJ4vnau@0&q45)Zd~ zXUoVXO*-XjRHXRYX#0+00gZ}JD17zvs7tkWy%ADoMu!~C*6`D@4V&4OME|8eb>pJ!dnm95U=VcWmoz2$|l z{H+JSe{xxtUCmmw9dWJDwiU$}j{7ux&$$H=1-e!)vr(RTbkdm5+eJ>ydarH5mX7V8 z>lIXRf}Hu}Tg~>xw_SDW*phVai9KM@WqTJLOdFOmEYe&{+yMtm?y-b!y_afhjs#@go zv7OIHwD0g*)-R?w-&z~{%JLOE!z-7Fp6)0<;rDY3#vEGuOx_y1TDZ4FubiLt&v(9E zG;{RPiMTF%a z++^(CEaPK-PKb{Qz27Tkd!c9Z^(oOTf2GjE4d;}ouwi-QR%dG!`}6lwQ}5)clp6wz zZrK{P$6YljN9Xp#itJidqIK4VE4m+C)wFb@0(;ZGzkaTHt9^amXk5N%$?AokW&d}e zROVfo;QvBjdMfO0_4|F_ud(RT_BDTe({;#O?&{}H%qza+!QAgYn{ubxhapEQ&ppwq zR*r##m$&`Vy`@|97o*m7+H>wu%S$1<=Djc>+u524cjG)^+m?T|_`_c#Z_F%E>D-zo z3yQBi-s`72i|%%wUE7wruEOYrAHK7@{__L7d|UXrr&~0yw&G;r!ta)H|5D~m#j-!| zi(c{W+IN>V+TlLBrdG^}H*zO*lj{Vz4mCd3B6P#BclI=VcSn=v1z%WH;NzTQqxXG1 zCQqMUffK8QFLd;7a$-sM!Y#%reQH?!#LNc@50pdecZr%Bn0?lXayh;^(;$ocRD)?b zHJu6+^n8I=TQ$6UY3bb|eJlLfuS`PLs4;JLn>v5{qB57)Pd+(Z%3ieI@CQ$odwNQa z@UVsrGfA1G2fBaauu8vCn%F}eZz&;SPbm)1^!$v!Gio5C1~O_OqXsf+AfpEU`!yh( znr!IZA=ZBh|NifnFrx$+HIPvQ88whm0~s}tQ3Dw@kWm8}HIPvQ88whm0~s}tQ3Dw@ zkWm8}HIPvQ88whm0~s}tQ3Dw@kWm8}HIPvQq6Ye9>fJM@=a+r+#YmYN*`Aj29Lv|evJL-;j#8^9md;te>cJ2vg0KCmLrqxbvjM8zkPI?J*4vt`+{RL?Zvvxwom+i zjy-qRdGCfBj6=JvBKlo*b{pGlw_7&%M+4H$Rv(LHkx&5hLU)sl9+-<+!Yp*@+*RSkn zdw*?@yR_eaDE?b}=;Z_U&k_#VEB97+&(w?ggwi(llF0a zPTT*ucE;Y%{geIN?`Q2U&(HSnuK!~1l5)ZR`5zbU%~CJfH{G~wuhsX8{jHl8F1g;^{)r^v)d&3l_8nrZgn%u zi|=Qa4}JWUTySU>xn;eq^3(@e<r=at(&l}{eGE1$e)8tW`smT@O zt}QFdi*i+x5ALfZ7no96ZqcfWJmuM{@~2-{m7ktkO|IR#x;!Lz4f%upHRPL9Ys$fG zYRO4?YRfCWsV)C9t&aR++q!Z@-g@$!Z|liNr`MOC4GWdqF{Q9!2-?YPKTSzQ)jo3zir=A&Q=h< zy7yfxdFY(h@+TeI$hQl&m1`bpD<{tllh<`@C!c>lTrPVwTz1TBFE8uVK|WTfqg>=z zN4f3%PV%_Uo#j0*bdja+yT}b*>niu_(oNn{xVwDq`|fh31wCX}*9iHYB0c3Z$9u{p z7CPiE-6G|MMWf^cKSas-7e&j>x;y1bFUH8bPQ=Jr7stxAdc?_tUvkOoPrBqAi+jmI z5xwQaV)63wQ}Oc8uP4YwdnU>~Y)SI$(@FB)HE+ z&p0;-dDvJUVBwM|A(vMr}w!!UU&c1aoGmf#LZ8+ zCXU{|CO)vwjQG@H@o$KSinH%EKvu=n_`uT=<#^@X4dmp+nUe#!J{KaXr z<7)5Dj@xH%iub(!rg;1>H^mq1e{($N;hW>98s8GXfBG$PnfGpq8%1;C>*U+v3mOyDi?%-5$5O@%DJP-)@h`9ym8X@6oyO>?U`_kDYl( z{O;O2;$Pjoxc=;Uai603@$fP8;}e(9k1sD?5Z^OpLHy$T3*yiF-5GCl)17gwCH@z#q<*d8nM?SbKeru;i@sBqxiffm>JMMAt-SLpe?~adac29iC+4sZ? zKfEV?Zs&XBPj9|AuCUeOxb-26q8%oYd!sN+^N+g@!<0xiI4pFk@(_WAB}In?a_Eeh2`-_ z2Ht4qt`tapWgrRc*gCI$MaSMg1Jw{^C~_aKQ;d8`27`6$7R|+6F0ixnK--QnRwK0E8>&ySP@^f&9m{6 z!=H^`dG^`(tG3U@+giLiWgsx7j}3fe)*C& z;!pqiMqGK&n{n%fZ^i?vtd0*kdUbs6ORM7>JH8b!zx1tm&F62$KM#64u6x(paj&Xt z;$g?EiBEWWO+2mBJMrC@y%WFi#XIr3z21#0E_yd^UhTa&p7>sT;L7*nDV^8Gv!<<$ zAKth&UOo8z_=iRB$F-_|5bt>G2l3!nK8TO)@?m`OUh*oxaK`s>X4Cia$Wfc($;&pySJe9;D|zdh*Zl^0$7DKj{5S{PVTH#EpOaCGNHFuko-4evMCP z@LN3Xl;7gJ-~KHg*SIJ-anGXU+|!GatL`jHZhp5Yxp%uV$?|NOJK-px6OUov`A1Ryc_IcT4>_@ z$|ZM4<&wvaE|G?(Zq<@nN$?&}@ zB!`|^Avyl83duQZDWOnDi>%CP@ZwlZ=?MO)_@THp!&-w@J>fwrw)K-?qu@iQ6W3&fYe8WaYNW z^F@`CcRE)}HjJs1{5Y*rQt`1${y)=EDQVTTa?)c+$@2$SPgYN_o@{u$ zdh*>@)swB8*GOvbT_b6EPK~77y)}|u{$3*)QnO}q&@MHTV~($xoOw&lwUTGAsFl3^M6G1q*R_&O&1)y+ht*E%oLf6-zPNVM<)hlkPPOVJd&PB< z11Hr^Ib&6w=u3-Q<}k>n5weshj+xMZM&^VfB)&&a0Qy zy02c+^dI$-uC?nY{gV30;1lX62i#geIr{bb$!X;qBp2`4Aenh+gJj-S4U%O~HAq%` z+aP(PWy9p-;SG~-&TE*IUD7bA@o~eXxK5*_^RA7O=)^|JpxYWHqu*$hOsLQ}Ii*MA zq3Swog`#*gpBk`P(O7E!jTVYTfopwYp7`ru~~F9ZzbK zxZ9f~d%oEu*?;Te=Z* zzYfXti#jB?JlG*w^l69Wv4$O!m-gtGtUa}3^4a{3$uDaMosvV_cTP?i-8nhu;?Btx4|Ps%`mA$uccU)JqXWC>zZF>W2g22V{6C@m zU-=XAfA&88-yw`0H>TH(tzIZ9dvU+YMRi-2c`4uDAymp!ikfE@{th8eX$s;(1qu}? zRG?6SLIwU~D=@jtA!GWL=YM;l%wPTKFz9cEpAP@AeNot0p#p^p6e>`tK%oM8DzF7V z9rQoh6MDGd#==jBuqK6dp#p^p6e>`tK%oNv=@rQLf4LZ&jemZ2?V>Z@sasT~M}wjp zE^AcOal`gSkL=vEXwaRv}2C0)+|`Dp06Ep#uMl zDzLe~MEI}%1wy%RdjDy+g}+4jQ#lHYLInyHC{&;CFrBGg=2_)CQUk<%&!DO8|PfkFie6)05T ze^CYU{Ut)R^uLvL$3a8f=`(t}Gk0n1rrh*#)a&}8ZvE$dUBB0g-S-cFA3c5HP&fFZ zKJLk(O;9^H3Q# zVbMtU*suNE=k43NF{8`63tNwLLq6QaT{)(;`(USX?)Go?c3=G%xprT*bi?oYHLCNE zp>C^9k?VA6E7#_Vt=#E94tJT;`?_r!ws9BE|25LltxW$L(^?m3p#p^p6e>`tK%oMK z3KS|(s6e3tg$fiZP^dtm0{@#UFuBa}2aOq1Eh?_uqJF)4XVvrnxq&k6|LR{Nj9Op# zON9T;hg`_5P=P`P3Kb|+piqJTFDkIPzeKnpc{X#zhPN~4?Dj-v&)(V0^J7tbLzVL zGP_oPBa^9lLT1+^Z_J$d&R3b_j(M5gPg%-{P@$ZY>++w8C&-LltzeSM~PkKvi3TGwZm zzW8!x_vN={792Syv(xoCa9oY+@qQ20v(RiZ!(6)04oP=P`P3Kb|+piqHA1qu}?RG?6SLIwW+ zP=Vk75@G7Hrus{S8mE-G;IIBA!u3V9{TB{ z+YU@7wLK(x>-qDNDtrDddFz{_lgoBGBw1FeZ}Q?BBa;^gAC}Z;A16aD+b7wzSN~-D z(+*Ci{&rIG`H9CS(Wyr!-|RCbdGv}Cl2`tK%oNv`4#y6FA-+^w3GgGMs*%3^YLH(ON0;W75)<8 zKfhH9J1kV7P=P`P3Kb|+;LjDv_m>Fve^~j?7XP(X;eQk1zgEA3b)f=<3KS|(s6e3t zg$fiZP^dtm0)+|`Dp06Ep#uL-1%ChEM40?!)3WJ*&ZzP`Wvb`J{p$Y{@uR`NulM()m7h?TQuxwlo6YD$ z+Z{Z9@6@Kcr~QrnaL9zw9Z9& zC)<~T**@^0o+d7DhWfal=R^Ow?u0PyQhe6aeNw)+r`lh~R0f_u9m)=h-x_{$uH>(G zySeAlle6%;Z(8T0>ctVpR(-=eZhJ7F5Btr?he6)Q#9+-HY(Lwa>33TT@V56@(_6j# z+>&pe{f_Y8#lt?F_FWj3Loa;TtD{n^dXn?t8%ZDLdS8W;ztX7ABE--yd^7k)qoY>5 zf9i=4Z`Zcw$d$jvz~}llh8Xo;C}&;YPs#JuQ+Gf(=q`S;H!Gu_b}hc4m*?`G>l-W^ z)l6&AmO%{NiSAy`KG~1n6~5C<-COw(4Qof9(n0OF)qbP;1vqP?H%K!6y^{ERRCUvv z)HATLzjbUL_@hp_`meOw=E_4kggSaP{Lb1l2y@MKZjH@;)W_LWW_>9(b+41^?VBLI zrCn28wUl!Hw%4dlSTk!6AHHEa!_sP~82QduZ?=sUzQOg*?VF!@O%%z>U^Z9emncgnmZ~vG^~@=+4mp0zE_+B zZ<57^JiSbRSb5!at$vd(d>bUUl<%Ki=i_y+^Xa!#Zu_`rp4jZe{`QyeAzr>$4jX=J z=6XM5w@(fm`x^#azFg#EOKAB1_feJy@Vc>CvL zTc^Ler||6=5adoS^pbt|wj@6=d>6vsVOwGwzGs`Wv9$m@!cW=s^Ss_XenZpm=o+U~ zIC}@f`zeh5?Jij^N)K2$cS-A9byR-BKzpY)ws-W_THJpJueUYNxlqrtu>TZ>o5mm)0Sre^uX6p11uR-cf9`DJFc+>{}MbV4d$ba4u|V zGQJ_a4}<-*Zzk`T`lhSr?e8DG?cwh%#o-$s-ZRxi7$~vrxmg`NHQ?XT*!l~T>s^q} z(%RnMuHp6WhjOhq_Zw9>QEDf?n&;^u;%5Eq=O;S7t-_Y}n@GMkM|1V6wNX#$cVWJF z1RK3s!Xne3@zn>^MLha^JxG6q-@lPwrrdI!9lvL!*V||JNB#1>cjRpMrt?#+<+q!O zAz4TjTkiq-(%yf&FY8P1ij|3HuUS7!!w3uIH$T+Y!|E+>-)DL-?0@Q%>)dupV_09g zc)snt6QfgnaY`+g+VNgcf8KKS3^u$A)Khh4Pr4f|J&zym(0(b;TfU>8UD9>ul-hXk z==E)oE%N#S-uAcfeNzl?jr?W}pR4ZV2$o*o+hAqSH;eaQ`&2(^AHs?5n!|^5#i>r; zWqtFc&qr-<_A~zNTTYHTOYM{Q8=v-0<%8vJut(wElOg-rLZgZ>^Q7f2^!H#c*Hr`&vD0aohv-DRO;ld!_cs>ZH8h z7-ZZx?)b1&XMKizaSqH7Bh!7&bw@Y{-W~M-Z$s#xb#FiQHiUZpI|s@6X33vqd=J7m zTzLrtRW0C!uj_f%)C4*>rS>;Ha;CmJT8lPL^;-WGYVT@jXZOj!Bh~jlUmn;ifBCAu z1-a?>o_-IIQ+V%eJ&H^5In?X6^jo8MNx6zv^FDgyiDB8pMwd%iTb8CPV->Tp|8!Y zxx0FMh2;+G8zvdwDe)n#9q4j>BeAjP5c&w$^h>_?!oJnqE!`D<3$dTj7r&+T8;jiZ zo`g8oVJ$*TX?JFbx2G13{0!|_j|}AeM$Y&9B(%?!b7^-Rd)vR34}G)NJ1JavUnLK1 z^?Mt6dq25f_Rl@KZ+m%pXq&H2!s!m^&Fh@Qhp~~}hWnt` za`m_TLAhI6+dFRSBfThlE;e?OL+zhWSyxYS>gVv!CE;D87qMxa+Sz^DIO3_LzL%xF z)8u7;Z_1vtcwuJKS)Y(3I!p6}wPVugLiZx^O&C)`kDgG}FJ zeRpjAltYKWM!tAs)l*$ljP9*4;k&^5qW%M;9#oHo?~m<6`h|GJ+Q(1DfEEX9tJ@NO z*F5&Tk*baL!#fz>8LNlqjIAu(n{?qfUUK`^*}l`6HctI#Jf)80L{CsBd`K^UqW0b6 zowN5z7%2BdSp7aK_A-m1chw)t7py&F@Z@IgLO!gOJ@@QpY(rn+n*4Y#*-xk|ZOz`P zyS)?I7yYNVC-g!6?YATRGa3H$TNzt^JBL2B=3a-tr#Nr)Iyb9_ADZgrTi_dj-z4O?04dl9i^q&1Q>gIkY=`EIH1_M3*UMg}`L<@FYXv9ex| zKl%l#7{Y7K{h-$P=3eV=RQEg>QQ@KbW+?|zi{Z~e)PXahj(X2|*X+APFNc3Np(gYc zZ;IX+{mvrS#(q+F?zeicmghMibjpLXr^jqhf5As7_Ev5ZEWiJiVH9Go0J>Jvvy3gn=j(eOCS|bM|}t$-60AY7bA2lIgu|oXWTZ=)p6&FQyvU!dQCNC&+1k5 zlGAtOq8P}@VThmo{Nx^RN3wn@w(bD_c<+c)%jm%o56YX<$4`Bqh()iWBL2r9!HSp@`d}qSFkbP;CKBZUi!(9M7)X$zNFI&!7 z=PVhtIKWvQy;+*xVlCgd6rUC+e%}x95>@2HKn6LhfNdKY7!`cb$9C*iYW&)_y7mZ-)Fx#_tmG zoBL+jchq84t6HhAektXB)SF0-oH^eIzDe9E#TC_lwYC%+)!oW@i|}jvFsuhU^#gCJ z?J@b%pSxJ|hOj^SU1!DHMGnG4d1t`UTb=zxCcMsCu@rxV$EaVyQxEI2SFpA^_`7JI?Ncr8vd%_)+4jH_yjdYfBR@AYy{t=$HRzCTy(<5C=52Y7)BdiRb zx1p<_VI18Fy&+(A-a6mV*XGvh5&gyxUT4Qz@rchklDBdZKBUDS6UxH%P=n!p?B}QI zL_c)%)7p$S>##Q9M)}D-;oV`)-K0NNBV?t0OVD#C8~6!d+N1`$-^5VQY z{wx*7A%{@LTE6*nQ=DS#y<)%IAL>9(p%2}YP#&&rUV69oOZ~BL@coVdexBFvRY1B$bEYQtT!@11O=*V@+E zc^meLPQ9%<2rqkjPWf>L#2VqJa8TYfsCp|`f1;0kWq8#_y&oG)=$^eh5J|Rr+quA72h|g z{q|WOHNB2|NUr?$EcR2i=gh)-_3|>=gH=BuBMvm{C-JxgjnXx8e4&H4v)HV)U(R^A zpQ;ggVk5n^w>)>tuJgTj!f+nD`8g`E8|K&a6Zs1pQr#cPIUni~)=YY+>ct&k-Plk4 zK2iVLz5>G@IM;rD>dcXAa(3z~$@0-$_7=-qvWuVk?MPjCt1KoLPro(}aJmn|+uoE6 zny)u42HxI7-CKS?P^)u{)@SbC<{)JcH!RMNsBN)B2!q7|Np@vI3?5moM!)41pDe2QX3_k=`kzuh<#`V5U!zRQa%~Eu zP=P`P3Kb|+piqHA1^zQDu(|(~a#7I({!dZ${DhvCQuxwl@n-a)ZF`TuEw!1tQ&G{S z#(tjXZ#HY$X1r`n4*8-~Hpl3udLDV4%DNjJ{s#MbVIWf+sKt-Zf#Yv-EFQize<7Cq zLfIx?2P?}JL;A2j)brvTKGz36We;VKv;AD@G1ya+8Gc#}{Nz+NJ%`R>mwP|zmqn$- z#imgXUlUVVzZ^QwQNFRiItON94w-z;P4iJd*u3Fwt;3q-I)7__wzs$EK@F>!T!y85 z3nR1k@YD`Es}ziEI4|+gnOk53u3U<=2hs`9T$2N?E>`FiFUXk74XBbOZC}(N)xnfJd%wwsa*12f0*LN-jv(fL( z`cO|3cdEBjA5Y2QBiEf!4sB9Ab-E|z$9k&$^-5*nX9xAg?=&ytT*+VWc4g0lCuhac zebYK0RWB|`eSlNn%<;VK!F)dKHzOYg`FIn9HG8oAY;&&Xb+#7ZNBL>}(_3S_3_n($ zi|=kQ6AW*$EsT7w;VlL}?A1jnRz1miWc*y_XRh~ExX^E|way~c&G5cw`#H}~bkvIX zPdyRh?b_BHx$?Idc=|k)g=_U*C}+LG^kcqy>JC`@^Sv#5voh*w*Wy?E7`c33oClAc zY9=3|wE~+3>3XoI?34XeOl9poWpWO(w=}FBd0KrxV^_`aQw(qM@OpzJpAqgd&3fiHUoVXnE(&HhGEA5ThsT3?Dy-4~^M z?jFPzMsz@`*SC@Lx4lMf!kWoelzS;2sxvIDhKiBze9Hws@f*IuxxTx~V^|J*>9&N9 zP3<`kzBv;-ZJXoC9x?#fCh+Y~MTd%hEnmzsY9mW_*FGw*?q*y4Ujk?^4^x;k}bj_HkN{y!g!> zeiN~o>}Q+szXue!5W^;Td$RSr;`;N%p7;ne9YAyP{&#|(R^WBwBbg+?4 z3-%<8rHYg9Jn41e7kl2GL-@^TWU$!i&dGjDsExNJc#D}G>{s_w8Q1=_ZD)(_h_F`1VXQew7EkWZyl>H%EJUyOlwmHfMuAe9ty#V`~9+fuFLWZ}jFB zdwxu+3-7{cV-wy_`I=}jlI5cGfR%HXw9ZvWJt@V6@7Z8u zCwoh0Y({UfrSW`2cpql_Y2QrVFZIm;&zJL4eljV~eUi*lzTx3LQ%x+6*!JA44xSp! z^wZW~m}y=vzBD>FN6q!_=dMg(A#H9zBR!^OB zo!j|o42#XhpXPDXypLrmz9@$swd1{@{=DVt8EjU1Tk5GgvnS4$ShZ5h9a@s|yye6E zjMH_$l!m#X*SA5oU{-iv7E7;aE&PO3Hq+=hAK`M)k?uyJKLL6j7>SilcUa3`{ez`kG)gYZ)rT|g+9Fh`E00@)oG7b zRvNG03Ko;E#=#w{L#O_+IQ2s>pW@_wn0Tz7UUnd)3;~ za|3y?@h4n&FKZv*l$S72)dF7lWob^-1o`ZgE=Z}hCyrfWmEr|q*)2PX7m zYb770(Fxwiv^=@cf4OX{rE>MeCSQ|WIAjA-tbMaWtlh(C6H~U}YZ-ZE!-u|DPu`3^ zmkqM8H#yHq#@7tb=X&!7d%5n;B7>)g^2HJ!JvK7~?ATzvyp$T_BVWJei!V979QHZ7 zsX_dS>015Bp5rNN##hLLBR`79pmzJHz*wTD%|BLq6>9L}au4%=i05Hln$5F71wE zH`7nqTV66t^-c;G-dD-34SYQlqqFC^U))LISi|S~cj)=*BwO8qim8u&#;-7z3U6g0 z|5ti2v<=r`pI7twt@LNFJ%{*kt$l@k!Tl3fzcpC*+RXl`zwAP)SfM;zk2gMMro5Gb z=QnJw^OP@pM>57AHq3Azlf5igf6E`#{?@g3+}6k9;n{PMpP`&JchAbFrZumZ%4e7} z02kghdJ&uTDbDWG`V~LZCZ(yH6X?4-U<`G3oE>h z`VWkHP(6lTwou!L^b7HbWq%`rqaN1ouksh?vG3*Os*Ux@J2)Yajc}Z?cxbpc=_Us_ z$v2r=*uK-5u21z7y*+g#CwhW9;X``)6CLbz;(6!neUcnH(@$ab`zWk4y{rCEzF_Sc zmy`=b8_=J7}UuQa;Kh9@`tO*67a zh7WU};jzVmeqy@Txmi7Yc*jGZ|L$6UzT-}e4{}=U*T_TPe#&O>;kj5_-61Qp{37pr)MotK_k5=I(9ikMC2i+UdImo}Lcv!nHl?6#-t~O>48!V0ibY`8ev)a9^^c zetLWD9p}#hXZxwT*Ymt=@b$ilH9OVmEeK;x@_PI&N~!z^uQm6BTI0Kor@9+c(^#Uy zLofCdsvJZu=3K9*4x9;f9Gu$luGx2oUapwxWKT`#sbVi@B5#pWa;47Ho%^lco9)+} z4?6kb?5p`X)lbR5!BgkTM!w9;@lD-?4Jo(o?HUY7+;x>}iUZt@d<98gFrcksm1Mue=qHUM1&=e$Mq1 z+*I#Ndu@}-!o0z?_mlITlVWTvc>A7l2J~AmKh+b$&+xJ$KUu48lhSpql#(C%Dd|4> z{lZ>WrfYQc0egfW?dSNEXKir<{F*$Fs}AsUQ(sUfeSv(rr^8Y_Ym21@l37Zx$zAlZ{3FwPrk_Jnw;$3@v+>`u_+GhxqgxZI{BMw^pfSH%0<67cyB}O zs8q(8DmJ|UZetp^jpxJrrTw6jPyQSLzre^&^E`K}o{W8}`d-@z+Zw+Ai_)j` z3Vyf?VCMKa+E0t;jCIadUfMa(o2BWkAInb&Vq0AZLxohg1BVnojG7d$8Wy zwD7c%pVBS!y!=S^zB$Xz1}nX#%kp4VtJ$fZys(?*XZMsRPtLrupHn?f@4fY}{aTrL zY*cs2pu9!+ZR4lp#1aohr+&E2^R~x?+hq1O*kd~TNx$o?c)Q3!c<6G!21jr8^Awrz zI%~yJ`~@D&Uy7j{@4 zIoKKLUg;To4)RlEY}M~AjBG_}Kh4Nw3)Oc+=SmI8Gm{68&165v`nf#yEg96-hIKeM zrFAT=e`Ld3E1%;%KPrbmdVx1WHln-@1N;o*=uTX0eCfP(zVfl9R6VlT_{3Ic2d{X< z=N!pfx#Wvu&o&=sj)^(N`=swwC;DNa(c@#8S%2# zCs%sA(lF?#!PFE-jEtYi^Yu{0RDWek!Ok+gjYkf4EndEhy?$znvGvRY1B#(9d()DCovlt47Hl(*U%P5E_*1wG}u#e-ROCIsP^SN z-`P)#A7j>FXL}pzi388xh&S2K_q~iYa(s!G4HQ3GYrmW^-*(kVJukiRA-&T0LYMEo zlid`bAK$4(f!$ocrk}`P*pQA5Y&f6U9v{}s+M#ECT57xAuPdj#`q%aqSoXlVPVrM` zZhdlg?8D0P@wx0Rmbc`5?{8D;kGkmhhQ)~ zx4rSlo@)82y~@`DgOMzxc0b~&4LHRNZR~ncn%CeU*7#s8n~8bk=)3z_Ina;x>$zzR zFyj3yQu3ctZZog!@Bb;~Y8}h$mG3{L{OA8*vM*{no@&8=oB3a(Ov)DiQ_BCUNr5X= zpiqHA1qu}?RNz0Y0-OI&DHj!$^_%8*!B&34Yp~Yu1<6FqiSe|GpXL4BCZ(Q~*jdcB zUWRXcYOt=Tg{L+);>vz*4dX`zKdm0$%Fp@)n`>Z8j!-84WT!pKpI7A__+SuUJZt%Y zXRuZ*(Go=}7Z1f3`y?lZt%>|9cPKK|7K(o;_UJT`YhYK&Pb)*G`oe>u22c&fQmxQ! z=co20to)J(HsnG-K+%EI{v-pZp`5i3<%OKs^n!fiPjb(e$mL6Uu$B+Ws4Kpx14Ffg zCqLy0)kG(I@akh~fPd-OE56a&feZ|>iNQpsd_7yDXRVm#6N((4lCy>vUX=PO2hWxa>9Ds$^-+$pgAxKRzGMH$nAqZ%{2B1r>rAPI>fzav{m37=fx`#92ELS&VoJyU(J|1$3xkdk z`u|<}dtUe^CN}C{@Z>Bz&z7vAU>WFSW9vvvY&DbvGWMk0v>$A#2e_(!G87lN^iW$9 zaQIa3sRoKCJNd#E8Iu7XEcr<0*%Ds4p~oJ*jg5?N6I2tu`qS=3{>fE)_iV|)Mzw-! z5BNlfAEs*V*%G{Rfl?#k(UYt8#u}Zq*PfI&6ufd%KJtk_)dw7Vln$z)T#>;aY=oJ%+j+!6`qx_MRj~&RE`bO%Uh=&}140v?-g6iy9!=opj-Yn1lksmpu zXA)m~zz+ZTpx@9d9ysJsa=|x4eW^X$dSa`*O2Fwq@WYUv_?!p6nGAF~qY{DthhmA6 zhlb*#V`wkz0sqPuN(}rnsU3012`qZnswr}KY|!DKn!?KlKMd@Nt39A+Dktp;9FqYa zUkp*~v15>n@?8dXtZ0 zK=Gs8b;smOd9$|vo|Jg_!;XD0;E@xLiC-o@h=ZOrJOjCMQXP>APfYHhY&~1DNA&2h zW&ccg)c~G>PbT)F{4>DGo;7+VzN~M)_pBN0kD+}Fuk#R2ISbEyQ*E?g#YS%R%AGiz34^y^ zG02}Bv4aN>4_0}jCr5Pn76qq4eESYyiw#4u$^e5cHuz-^$neb?9eH4j4jHzJ&z@9k?9j^| z3^f9;+GsEM*MMi@2U`YynD~%Cd?~JH|Hv6z_=86;8_)i+2XaszVA-3n@TwIu zCPQ&pgCQQa_~(4^hn+ni#X$}hO1(6&MUGFfP{n3VOsL|(V}qO=v`5eWF{C38a%6(# z48$vzY6C^az+OW#QRJ$JWcXxgEuX(j|MkyYe*dNY*WU3*4Ea?(SmRrA;-Q05AJtcQ z_Ad;v?Hy8%oQ3+An8>B0W*XcX{@fzp_*Fje*eD*cxcjVipM~KJ;K86LHWa^#tA0R- zj5Pxcc8ZIPwQOaN9T;KNC*atlY@p<#ys?w5XG{F@zs`=H_W?WuKTPdOa%_>aCJsFN zRbB17L$1i#8+dZWA3hjh!QeyZptb6UJv@4J?4Dw@b^H<%$Xdn1h4p3~+@m47x8;AW6 zkBMA9b>s(}M{#W4l7U5zA8LmW`C$zX$^b`>)Q%w> zu~jqS!NPOC@C?oa8`VcVYp_i6V5p{&gOQ!`q6Xx{kPaRjVyVXzAIc;Kc;bT*MJGSl zD;Fp@`SWZE4!PX}_O=e-7~}&^c-CNTU0L(31;>DL_QV8d^Fpq*e1U@}2Dvk+k8sKp z3KpFD&9fzgII1TC;^2$itS@lbs|P(>vW7CW2VzqX*5sy%Kh;vyi%M{;v4avDTjF8E zz=!<9^CpoCHps0%?3v^#8>{!?|5x7lVo(S9g-VVea)D|;sxcV(2ctT9_78h($cLev zpz=??+B+Bx#nSoM^B}(73Dp)qvQZrAv^Vk-1|OQp7}7)0k(YcSV+c$B@ZdH#$b$jJ z4vMYTo-G;3n8cJ`If2#rdbVVMBffG(Z})@`20e*AlR@p|Pw|K&Klo6d;J_e*hth-K znXDO{4|=G20)O}cLk>{o1kU>P%aVZ)#YPXWA$#I7(90id=|J_z%cb&Sw4xYLC@Qvy&%Juq4?548H%U)DIPfzL+5~8`$w)g;A8_;Es<-V$nc{W*s@3bSe#vxw+2{zW3RZ% z0i5;;W#AJV?F|`r4CVLx>i2)*LvMp}R({0M5U)6r%SLPA$Qf*|nD}R)SF93&{|C8- zKGAWe_|kV38NnyEAPY)QV@voGuz@ZgjSYweqJLZ`Zro6Qej*fGUps~$%l##cO@Ef@{y z6bCta*5sjqEyLzwZLuMDCd2kRYxLmlP){O52Zoq7u3!Gi4jp!(FK`Uw1p1m0W&U zhq<#>T-k|AE_>}wa{O7WaH7%?gZ(iX=rygc5@n8mfXTII#SvA0av|T?s=vrZJz(EK z`3UbRzJ$jg_QGm^U>M;Vnf46Nu(t5I_GSHu2W$Dz7i;vwu-5*ODK2tyVo%8Ie*Cgz z&~FxxP=2j1FvJj6{=z*;PF(P^k)0Qn_-C!0@xfYgh1D5L4qiFQ){9EsKw(&GXy5o} z?+oo1yyBK9HuDd1QeL^B`E<%Nyw}9n{_v+d;wKjtIsJ;Ae0sKID7GjV%d;+R;Lpa? z@9xkBpZFpV@|9ogrSt5c@{=6O42P9*M)<^^>H%Ip(Aku<8+T z%1=39Cx5nP>LqZxXUNodo-G+#%P&I9%QrGBFEKX%(Ay=P>Lq)imbZJ98`-iaCWHLM zv$lMgkL-!VeYbk$hrM!xw>XRUsz2o`9eK+hj2*&A7Os(NKT!1Ksx$Cx2``<_9UR|s zu-Y5n5AtWNeL(rGBzw=64B4^ZccZ&z20yg+pj_u{=8EAUonP z?HQ|fV9|j^#*m%-vOjdn-P&NQnhNhlCHGVNP#vruj2-x7GDNxKaKd=eAA?-L*+E{!gDQ7Xy;Jy7Y{m1U5*ha|j3s+vWUHPF z@!%Lbr{7oq`X_SYXpd+VLsT)ee=yid&YB@SzTl;Y>b&f?MR>0+!GdEVx3T>458uS4 zcJiZrh4HK}>^0acHViQM!d89Z*+2HiK9rAg)fwxo(CeNnCR8yzTT#V^rk)ekN%bE!fRz0V+7nKb5g3Rvecg^qrln;Chg9aO9imTXA z$@NBf(I0qpcjwx4fRqSWZJLlg3eBzHG1&q7}(((id=aq4wPZ> z;*krFOf^BynmifSFBsKKw&0L4u#;Z)Q1uBI?C=SW$)3Q-pLAaI$B=&n#9%TMPkQR4 ze37BYzwpEn@7WTa&PKIYzSfSrCx75o2jmQ4l{-F^3wrGhIa9v){f3SDTe*;<<^A%H zfh`lC@@wN_%M=D3Yp_t;*TRw$diJBepwqw0BtLZYt@4t8FDi+J9lr4;zn(1__zbc5l25339GRPUdT`L#x z)RD7BrgH$Rb4SilEa4;*jx~1F8I0^aTQX#4@hHemXTv#y6UO?HKlWo|Xz$qC|C@Je zrM>Ii@S$3$-d`P0EuJ;Q%D~%wz=v_L zAr3VtZOAV`(F0F<3LS zAFYw8_S{K)Fl>#9j~#mh%U)RHL$;nR8RUf@C>Z4lFF)}3#~vPk@WOibkAY0JP&}yW zA|Nv5j8BGe;&nD!L&=FfFol;rv3178Q_k!U40?Rpvqi?h4&UJbFFX7Y6RP;0Eg9jO z_{3CP*7(9+{ybYU!noMr&kkX*w?i@Tj}5-Tf`cl)?7)flY{>}M*dW6fyhgZ3&8^-(YsGsx2D>OQJ0&p%)WKPhwbhy`$%@TZrQ${4!bEk>&`0f`yQ)19{Sk4 z%!AKOax2d7;GTc;K=)?Lj;`*#T{2Df91{(>xt2R^)2*2<)33{Zw&S60)Xg)ZIlC0O zUoM`TdGmq^z2>yICHnc;eO=3Y?#UeS{jEJ#ee!s8-^yLH$K5(7d)O^!WRL#!D0l4a z!S43?|L9$1LofHy&$mV6ifi;ZboRG>e?FzLyK?R)(X4VuM6IK8Zp!-knUBBjn>}gD zLzxDx8uh-v(U{DSbEh`j_ksDDjw70OKmCz;(Kj!)b)&Xf8dbjih{EmmHG@m`|Dn>4QZL}xI^9S z%x7A<%a4CD+xCiPF6rCdeRNIB?4A3ckR5;b)aZ;swX;{$+&;6-{IcD<+&MKmw*TDd z(Y>CI4!(6!RJ`t*=*PR7Wv?AQE>rEjtD=1#THbf*>i*dpgHFjjvaXSP>*YON=FzO1 zUg^_Jn>|Om8jYG}Ha`1c&k7ByL@!=AKeO`IHtw|NAB#?H-^yKd`c={8msEG|rVW{a zw^VoiK7TwKdUq8!X3u`^_=z86>lY1*=1uPybv)+IsPE}7^;!5!pX>?!+q)(A9PakI z^y=uiQ8jw4Th+HmuLth$UatD?Zo3_B$zI)KP@ffJJGwe|m3N1q*UhciWNU?qmwnjH z9W{AvRA;*-(e&FEN13Ar?bvLtO+5OSTXO4BJui4AJ+4{Mt z;pF4{tgU^pJAe8&QP<{&x%Njc$+q3Lb>@J57iW%{S=lYE@_aPtlTohIr#rglk9Ktv z4k_bqy0U8YLhYs5`|rG>&!>}SM6axKQPIZxqJyt{Gpe|JdbIb08>7p-oc&o=~L0rMMdtrgZImvy6$MVrq@nxdA<2jmG@k6#b=}FWM!9p&**a?eYwT)vJu`ZC_3UW%tF7Gb_l$H$ zA5$f2dDs)tkUjTxpAC34`gzUvZq(ETQKi>vxvPJg;2wUusypGfcJ9G44`+)T*3Le; z>iVeip;g>|>sz{2JKvqzwc-9f7eBZ*Q~lLSu1~`oqLZ4Ib9WxtI$PoVCho;My0|{y zRd?UrurB-N7oSIU@BA)$t;>FWo;$O0_NkLvy9SNBxF_m98x1IG?-q5uGP>`BCD8%R z2X}3E^g(Xw2^HKkEw=4CbN(QA=z%|G&pfs`v(Jp!ojPgj?zU&zXJit=z=D*?*ur<E&$qMZ-*Z(|;m|H_$4`Igc}~TQoBVDE*X*3ct-Pd5>n=s_M;Dx0 zyU)%yoEr^!;k+GhKe>s!Wb#0_{e*Ja8B6cXj=1UoH>%Pwck0ap-9w{yaY@w)uFBFU zv-{uwb9Qa{gWU9QKhNG$?e1)!hknR>xc33B?G^3XO(?UctGU;4naq+nD!)fBS83K! zZd92H?)4|;WXmo5N1vK|EsM&n-OugVV0`BJt;_YD@zYh&#$8)y?>XgQH}-%Qu4S{{ zZrt(xJFh;!wOcT0+i2zJjnS;0^ZNF|EO|JJt^u^9KT(=t+_dRLS(Y-c| zJS#f>m=j!`0aK%0Z$B&Q|Lh6Tf>T?#8=juvp89G#_tn!cMbU`K?wPfZ?s&{Y{oFlo z{Su8^cd$G7m0s?~HiNP+?R{6~{a+Vm_nNZ3+ilx1?ywU(c5PbWAa~o?4zBfgM`s%y z{I{rmaWnVuZOfzOM?4+v*K9X8^0$FqTF>3kV}7ec+$r}rbO((emRa{$Ew{Syq3+!i zPK~C%)y$1p^=;=iJw$cD1KO%lj9*i{ITR zy1YXN*ZZ;IuESoJMpf4=ih7^>Y_y`&<#nK!#id~l^;09Jyf-vo6)(4JNB)SuFhF&I`+Kp zB=<$F2AON#XdD&)+Q%Kzp-uL)uC=mHANp&br+0Zgy7`hl-A#*UMk986Ga7emC)ci5 z2e)wI%BcPP3GRuxL!#%d*u~wt$F%GjWqY_uTQ_j^FX|cXJpbnC?q4s7E`R;bXvZ^8 zjvD{1ox6JKL2mKUk476OG;`HYZtBWS9-A%SvAe6iVpCLO*qm&IC+B2)JiT3Z*;yUj zWixhg{ck(YJ$%DUQKgalyEQ95&1`r2k?zzbJzT>^heu1VSeF@od^b1l!!hoW=bE|s z5AE-6eshTX`G|GB@19@9?Xv4YH~p>-Zs;{DqhG$A=tg!tF1ot+-I*~L*LUlmyfnJ% z$6efjCp)=&$F*@ctXLmanYy#P;q%Gap?B}@UOg>}?pamOE!^gCSN@Y7-G*PTjF!Fn zPIl9vZCv%C_1zIQKZ_1HYJxkl^Se>g#;;~>oiol|@YFZiOV(T!eO+mv=#v8{yYe45 z&HnmwgQ!A0Ci=&*gWT3@m-X#`;fT!iv7P!}zjkrov9C39ziw>T_nJq}i9Yr9-ML-t zj@o~e+qK?5quMu@bq`J`%DU$+jF!(F>G+-9f17H3+Quhj@11do`?>A(=(;_}x&F&C z(FGq*aD7gklHF^=;67(OdQJ4q?BBBG#~tQ&SW>M|rO88F^2ONbr}K7n3+5+o%3TYi zSLZIw9`?~g(Ru4CyW_7tFFNLhE26cp9N?aEBV3PaRb1s8ySr=NeJ*PK;z-wN-e}kB z>HhBSGn=}KCmrNAF8w|#`smTwK51?jHNPzWcS-c=yJUtNVO?=GbUh#bNHZ_AOoY$!*;Y*(%w+ z9^K7dedFwCWuJDvcRu2&s9*KhdY`%xG8R>CWz@rPW-MUsgn)pH$Bs)!_(t%=ZIbmu*_Pq{2{l-0tsZzijqWp9}9@ z61};1OV_?ZKiBVrDba7&o)Ud{^uy6pqnkvRE#E#fZ{HuIOJ3T=UA=mUd$0A)*&i>g z=1#wEP@hA#Dd+Y-^R;aEv#0d=@u_-leU+9jds0*P=`AlrA0}^Qf1bW68gf}VH+k8b z-rZKMh<>~^c2fu68I?VAee~PcYkJPSu(uoDp+|PVHXlUKwcFP15tVVLozlb2*|3wV zG31TD9dC_Xjf$^F*^94_D&5e)J$+Dn*EBvUyHD-dO?j_chpug>L`OI6;%*+(G&^B& zQ#WW{RrgG@9?|h`Lv~cNINIatyQ3Dhdq(3w8RtGJdxU%YqS$RbxUZXcNi{d@*1B$0 zzh|=x<_~qFXZ@6|G5wh6;PQjr^RJ9@9VhPXYJJ(vO?j!j8_~Q?ROa(`Zts3qMT^ck z#GU+GCHLF|aqo)v9_^-XnjGEkzYX_~uH`b%wQ{3o@8rrXEOu|aG}-Mve@vfu8uaV? z>Giv~Q}!I;MlAR^+HUcZ=$7vmb^7Wj|3+;UxvEu%y3R)oaAzEGh+9+sa93$~E4ST2 zHKU)WtcwnKOgg((dk=HB^={(!-#9Be@RP*7^I9i&=}&Fl;}yQm z4sTh{)tWxpEqJDUbXl)|Ml;S|-S?XBw|56s*}>g&f&XpQWVoCE!{M&zro-JuZAZD~ z4>K!3N# zosUJ|uc+((c4BY$*5g-2?bp8%?efUyeb;tBz}5V!xvQ~efZOf-L2mxBW1`15d=U+K zDsguY`5^kL(=So7?EdVy)4KRK_J?R*>*DC4_xEzO>Ljl6B_Bm^>~mW5Y@e!b@IE_6 zuYY?~pJ`9ja?=J?btgXaO*E;vr>nA|f@^SNeRtDg*JW;6w4eKVn;!0t?{~=-ujuUl zd1%F`%vlwpvTK{Vtv1z+R=s;cv}r;G_xFp>ioRO!+-V=3m0hvH-=P`xT=yg2@B7|y zO?oY;_F2?(-!krm&-QUUonF=@FSPi7I5_V>D&IbgXYWnQ-di@uInVvQtgJ{#vO_{N zB<-Q0i8PcJ4NYkhh0@-d8Y-2Bv}u!ipWpl6`G@0i?(-d=>$-0AUSzDVArHQH6|s8q z4oxb1v5Fsi8FyiKDO4OZBrf_^>=hoXMm7ArC#Q z&9d+Yw^;qPDd-rOiTc)1QvU9Z`$J+8{q86o8!5yZebBa;t@LBlcr;)9O-oPfVR_+b z$Vvu7EqDcOs!qYVeJ1pyIv#7joT4S&g{)y?qg!H30;$#g)h?D;By>ryxgh0xoO{ zLd4K-6#3-@?Ygm$eBxYDJ=z1qUlD2AMB=WU5scoSVha~Or01ToSff0M(qM*>{O7y7 z)f!{w64t+cN`Zg+scP5=y6HF^7Bh{o;7TrDY(7RCWb$yJR|me0V=z}fh~M4vurc47 zX8c}GrB=_WN6j5I`Fzc8^+5Q6f1Z(|a7-IE1!MFEV{uspMa@gWfRy35R5yUEu2s;+ z`BPE2FAD44%j4XnF=#E?Meze|5pqx*6a39-G91yxKsN*()COG##~1|>>tUB%^uO1r|L9!MJG+I z8-;ppORT*;l2y$z!~xkW;q%%NkpZ0+7&DLzx?v)5jMZ zIk&IQs6KF!vWHi&3~_sCj);fod<-^r>f-jWXry$`Vg<7NXL{cWbM9HA$Hy7^-J$3? zXDYZ@6bb#cUX)v`i#VGYWR>LL(=HWkvwB3bTa{VlOMSQ}3Q)Oe48D)^#l`v*Xs+lF?9Iqfb-fVln%? zEBy=%hvC;QZiH7YJ*_!HTQWXVQ>6?P^DJ@eTqepj-4RrBhYn_NOQu5v}paYq3H&v%!mx_sFW#g|C@Y;C40*^Yx99`&Ejj zoKC`S-zY4xNo5}=#9`v<9=1wx5D#PwAexs??`(H4!@LX_JqqS$5iPc(tc~J^Wz&T7 zx7a6@4vIJ(hP;toe(sxNgZ(=a61OqMG?=a;73Ap&f8Y>n$<8yvG23(JU zw(bEoui`F!Ovpm6**KJxc))EVzbj3i#|B@yK%GDAAkjU6-HFY@<5zpBv^x@u-hLxv zp10`xIb*xYEF3$x+5PyxI2dh;Lnb#I%NC5n+~=uinxBiqjsIxv*wIjrm`;~o=F<0d z_h_4z2)?ht9ctpc~t zLX#iEZSna^4_!R|g^pb-qYLMMl8)RPimB+Lb2TsMA-u3kaVEJqZ6iV1Sz34A1GC%R zJ)a#(#*6cA)Gp;qZyYrs-nE*{<~^nbY7fX~uPUqlXNyKBcZ{EV%E2IbC!IdJl2g6- zMcSdo0rdmIFm_ZT#>K{BX0$cFF5}tomjIlQQby^QRTn2# znZqpks(Yc$RE#-uki`0Y=q5kgZrgT}o>}~*i5s)=Xm16%-|i7T{XGh?dgE{>c^lR4 zZ=t!Dep0EU2yt6Yadpl~ifFb+-rFtAIy?tXv&FDqm7jmCdEV%ojE_2|Qw< znW;2=em5H|JDt^45|kX{G3~rIdZI4V`*xm3{dC2x&C5m2##)$rb`W%KJz<%1`st#| z4t8a;2|m3|K#q459**}z^w4W`shj7ewxM+Uq&X&ghhkveK02M)OAkeB$#Yx^y%u-l z`<@W1b?o5yEd#%HZs+cgF<2blp)4q5S^!-(D#_au8*$6~n3f zF*M*euxQvt3LQ9>didI)aJP#ZcO{_k@_RBJX^L|;TiKK`Eu8(oQqj~iVi>2Lgo*_r zco7_nRWqV6^~)H%FU>^c<&kJJNJfG9EP7sHf`FAbNpp#gyZpJk^hBnFYFq2Lntlmb zez_(RZ=5F3Zc?K=)88AJhZ)m(T}`%{3+JlhG-1ATzx*1ZEL9CL--@Eno??#e z!#!R_Qe9W>7u{@mdVVW|U#`{hyZm|9x7R~j42mb?BAABW?A z9r0RS9`WA><3x-N?A~PJr;Ivo?m9qOWjW~e5r;~)3~po}rY$nMFqZWKbQE#eF%{iO z9qhu;bSOn#63u%)39F8l(*g%KNVO$nT|qs2JF=R_j~{|{Cljgd*$0~HWsGHy#K<@% z5jA@+(VdE5)O~egn~#}sot_(+-2LNhT$dx_WL%NM33(2*k%BsgV@dWfC@6SA!QnJj zDZXQcy$L{37a3g>kkd|W47y^7&tloEy~YlzkNEd1B;16Nvok$p=gHpqk>3XHV0{EJ4slq zgUYYXY}BqHXq3spd5uBP>RHEJQU{ZXttJV?!mO?DqE%uhq&-qN{`u2*^&Nm{Og0E%93P|)W|l! z3&T?T$rvA#0{aIU{Jy6|#r-o-n8!dH+1HZl^ZsqVuq!Px4eh&+=`z>4oy>W*H#-hF7_~& z%|FSpaR!wqs$uz?XLLl#&S~-v;Aevwid-D<)~$+(%Y=v?nx#Q|T{qjW&`gKP8`e)k z1z(p3VVhnkO1C{=;+w)S#Zey;2|k$AoP$RG{B1dI2=A2!h@HQJ9JAh%Sx_<-K@Pnq zUX#$?1Yc}3k#wP-eTd9NS%E%&@=R~aKVw{T9RlYnPo%P;ke}p0gZxK9cRGh7uPVvV zI}u)54ea!GRX7?fqp?Z3SX`L_|HT!w+R7gvE4--aW&;^2DWEkg6-my{^sCkpN)vdU zt+G>OxHOa=Z@0mN1yQV6MhUHc2GH+q<&LRnvN@GwF|7SIr+nK|)SN0L?tuY1Hg0j2 zuuP}m_ld}#vYhho|K&WFyWnHsSm4uStUZ+^dRO>^t&eG@xm?9 z{WPt}1$C9)u+=zB8f&-EP1iHro4x*!|2>j)ygA%Bwt_8q_Jy8Z$i|4y91QK;%@q6( zkW*s`J262Q9qHpR<=HB7UR^*cLT|iOl*N0;g~Wx1V1AN3LOz~m1&X6E;=@kr>KKSK z_0pb0I!@AdF)e)RH-pYbCmOQ<8~Z%b8D{4`+MfTLh7il;uKO;7#{3JUn$PN(<*SCI zrsJ&S7elgRAA5ab3s_g1xy$FK&d&da2lZk>st?~zKs7~+C88U|3FMkk%2l>M|szN_PS;?9JSn`{G*)7 zo^Zro@h~K84@Uc4b8gM%7}3wiYRE6Kg1AN%iDXpq<&+5mMG{E(JQfbeX43wjlW6~L z57E_#BG0)Ib4h&Z7TT0y3Dxc$RP%w+1E)VURmumwYyvm^l>)C#by29@betb>hRQ;{ zJe-d|qUxB*sQJh1(V>2buTlU1e6;0NG`B0C@rAB)% zyTdso8ew*4m~K}hKJC=S_Z54E@4sB9*Np?=taXY^978Z=ya$SoX5&i27J3xw#O&r4 zv(F1TEY-@!TVrLm)Mmb@sA>|bM6uAQctNjsreKS{A@&b?Evy~whpFOr7_cE3BPtE3 z_wH==Cfy27n&F;({;Rn&Lu*Kd=P`MnW(a*f4nqr?$wq1&`S!)oy8W`W%1{hxN5fFp zswUcAGYngocr!iZvDUJuaj4N5 zDH@K5w#^lCS5K3q@<&R(bB{(vE7CcycWmi9LrCt4b(t3Hflhv>ZqnV%>PCrS*8(Bj z9j!3oSBvQ5IxB40eqLur$8)xMO%kSE4iQCexItG+S28u8o#b1&An3&}PWxpfq(etQ zg~dSCEL8aDxQNBi9>sMHUP6;QQ>l7YHXP%Ivd5xi98%K8dcEx|QPC8&)|0Tt%oZ)3 z|7h5`a8%ny!J^HCLT@dh6^mME=AQE`Z|hG=Hw=ZNY8LYH9idj@i;X`LNWHj(GM_6U zCBhIl<5ZE9JBIw{4rT6R1@P>cNY!>iNHpmpVt)ws>OLmf{7Mh+U@ue%Ou2q@T?(7B z&T&YO6{1`QQTu!oWQ4SNWX#RyRIa{pIajm7Wv1Ip(Hs|b;rZIvf|`g8%x=kh+Bw-v z)T;f8Ud?mE8>!#a)09t%K0oQ#9tSjcZerPso0w!|0u7j(LK5zmXuEtWnRY0^zfS<> zp-20yq>%9>5=zq1ICQw&bL##@qD4PjsL#U`n?K&BS=OHHPee3UUDHIa$zW70Q6uL? z6RG6w3YH#~ip~B%=oC{zu4X&)8$B6!27jeRnUT1bDMz)Rx6qgIzSyv58})5i$li=F z!~|1Y3s(YH@j^e71@WICx& zEg9c#hoReclW3Ri6*_W|*Z0Ku+VLd~az9LXZu^5p%3S6~q>SPH3>FmnMi=!Ff9d#z zCEUAWT^3>Woo;S-gG!GSbR3Dw9o>-YrO&;6aFO}=>VYc`rAvLhKcwX_^T;otFue$R zcBsPL=dBy3@@5C6_Bb+~H7BW1<_{&5{$VZ)4LO(Gle9Wz7`~mkA+ob+CeyaZG|Ji$ z2bAq`=z|_sXpO;Bc9gunB~l(g$NFXb5gs-igYrdX!Wr9=XxvmU(V#3{447X>J2Rh= z@tI}pk=<)D$PY*n&B84UNE`eu;f^=5m zJl*r^{voj4XNIA28(bS3CzIN_MwjaRgOt&%!M1o0W9{b*$-Xoe$NB;hGbfbdvzAe` zMK<)OUZPy9WmLGr3r6uw&Rf94F|rzuS-Imr5O9? zEzVqpHwD@93fSMgjr1m~314Zxr>rS!xzU?aAUdOrnDPabBcTL4Z7;;tU8YdUkw{1> zp=&FRQRHI-E%^;>-|IcJ%*hnJ`9l2kT*L;{ekRMvU|O?69KC-EL~DN?C2Lt51f-;) zLFu9Ez|UaE3x3l^6%|xn+f9pqnbDoNq3p)ao7*d+v?mZ6@%m zl!vxLFv@N=a^}0d;Bb8koQa=m)ApgzU7dI;v2GZGV$D_I-0ic zP{X8eakTvQAN%z)5}~E{k_w}a(~`A1bf>YLBBE{SMDcQ(p+Lf(2?L00cj6Xreo13a z9wduiMO0oNh;19R@LPPj@ONVibp|D3gN!dtn_-B~Bdu)uUk+2nnn>+oDCw10vP}ZcuZ()> zj;0R2GffOVJp_fd$7y}27^+jJQ`CXC+`i9WDevb+dbeE-r?2PJdpC8I>`>+$bi-Mz zmlNjC`y+h4a*wBN@LIYwBZ?&AN=1inq>`Z7$bD{2JG=b4l~wgC;Fsq+=I>L&Zm0a9 zZCnVZ8@QnO^>}QXW(>C-^E{T^Y9QMNIV^4Wg@)QmIuZPU0w;>#8q-am(lu%6vLx

Nh3qzn#qDU9Ym4O_O1v6NTH#$C+(SJ*&$4K#kJz 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

TqR{-}sed%&ImlGyumF%T0$ZT4I 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
}R-6j81cmHGVm+(o?>~~Z5^s7gvul>$Oqq}o` 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�j9aExYzsz&D)odd3v{T*q^Imfe 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
v2DEadP;6DQX6W~7s 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�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 UN6HI_i(Wef2oNAZV8sah58OKL)c^nh literal 0 HcmV?d00001 diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter.py b/tensorflow_probability/python/experimental/mcmc/particle_filter.py index 34ac008615..9d1df1bb89 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter.py @@ -1104,10 +1104,6 @@ def _compute_observation_log_weights(step, observation_idx = step // num_transitions_per_observation observation = tf.nest.map_structure( lambda x, step=step: tf.gather(x, observation_idx), observations) - if particles_dim != 0: - observation = tf.nest.map_structure( - lambda x: tf.expand_dims(x, axis=particles_dim), observation - ) log_weights = observation_fn(step, particles).log_prob(observation) return tf.where(step_has_observation, diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 48839eb2e1..c0bdabf415 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -203,15 +203,11 @@ def transition_fn(_, previous_state): def observation_fn(_, state): return normal.Normal(loc=state['position'], scale=0.1) - # Batch of synthetic observations, . - true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - true_velocities = 0.1 * np.random.randn( - *batch_shape).astype(self.dtype) + # Batch of synthetic observations + true_initial_positions = np.random.randn() + true_velocities = 0.1 * np.random.randn() observed_positions = ( - true_velocities * - np.arange(num_timesteps).astype( - self.dtype)[..., tf.newaxis, tf.newaxis] + - true_initial_positions) + true_velocities * np.arange(num_timesteps).astype(self.dtype) + true_initial_positions) (particles, log_weights, parent_indices, incremental_log_marginal_likelihoods) = self.evaluate( @@ -242,20 +238,6 @@ def observation_fn(_, state): self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) - self.assertAllClose( - self.evaluate( - tf.reduce_sum(tf.exp(log_weights) * - particles['position'], axis=2)), - observed_positions, - atol=0.3) - - velocity_means = tf.reduce_sum(tf.exp(log_weights) * - particles['velocity'], axis=2) - - self.assertAllClose( - self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - true_velocities, atol=0.05) - # Uncertainty in velocity should decrease over time. velocity_stddev = self.evaluate( tf.math.reduce_std(particles['velocity'], axis=2)) @@ -743,7 +725,7 @@ def particle_dynamics(params, _, previous_state): broadcasted_params = tf.broadcast_to(reshaped_params, previous_state.shape) reshaped_dist = independent.Independent( - normal.Normal(previous_state + broadcasted_params + 1, 0.1), + normal.Normal(previous_state + params[..., tf.newaxis, tf.newaxis] + 1, 0.1), reinterpreted_batch_ndims=1 ) return reshaped_dist @@ -754,8 +736,7 @@ def rejuvenation_criterion(step, state): tf.equal(tf.math.mod(step, tf.constant(2)), tf.constant(0)), tf.not_equal(state.extra[0], tf.constant(0)) ) - return tf.cond(cond, lambda: tf.constant(True), - lambda: tf.constant(False)) + return cond observations = tf.stack([tf.range(15, dtype=tf.float32), tf.range(15, dtype=tf.float32)], axis=1) @@ -768,10 +749,9 @@ def rejuvenation_criterion(step, state): params, _ = self.evaluate(particle_filter.smc_squared( observations=observations, - inner_initial_state_prior=lambda _, params: - mvn_diag.MultivariateNormalDiag( - loc=loc, scale_diag=scale_diag - ), + inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( + loc=tf.broadcast_to([0., 0.], params.shape + [2]), + scale_diag=tf.broadcast_to([0.01, 0.01], params.shape + [2])), initial_parameter_prior=normal.Normal(5., 0.5), num_outer_particles=num_outer_particles, num_inner_particles=num_inner_particles, From 1bd776069583ca0fd16273c8c4c3ccf6312a044d Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 6 Feb 2024 02:03:41 +0100 Subject: [PATCH 18/24] fixes --- .../python/experimental/mcmc/annotations.h5 | Bin 4030776 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tensorflow_probability/python/experimental/mcmc/annotations.h5 diff --git a/tensorflow_probability/python/experimental/mcmc/annotations.h5 b/tensorflow_probability/python/experimental/mcmc/annotations.h5 deleted file mode 100644 index c882fd1fd3594716e1605f54d0bd2764254b6fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4030776 zcmeEv34k0`wRTNHAfhO%1`%yVp2NfNCWL5Qc$pYuq5?)p6c=oIdU`T#X1a&&o-805 z7c|O4lyQ<&1^1093Z{Nr68}OJrH`puKUoPFpgLW)_{qaI_X_tSxUG&&_ zi=8i@r58N`{{_K3qaR@M8~IkBynJ~8PAA`;tys{vmtHwJj_%KU1_CRWFI`1XPc?T} z+W7{HGfM`8xpKCYAFJex1tG1^mCC%%=0--!pyW1=k?@zwJ*{?^jtwoSV|!hSM$WPcs_~VbJm2 zd${(?2U-8@>^bk)u->aIz5O_)yMF!XZ-?cbV(IdC+;D4(ckwBzAGm0~8nW%*^xQBR zn1E<|kU=u1!*oKK9_?o3}FDl*LUmR|$1&*(Ao)V#^W5~_xD2kNxXEwep$?Mj? z6nC;A;t*F?>%aV^>nB?~27`J-lI|}TS-^$8tC!%fXEFkf_m{38*lG7A&i6toH^#3Z zxpuVDWlZv{{hj+NbP$~P)JY23!;3ZdcT@GH*O$+zb>qf$gQR}(#6=od{d;(P?Wyj& ze(_2J;B-6x<&5w?N~`N`uHWoU095$c-hmnfaAN#(sw^Y>HQ|}8x4N^u&DMH z%nxImvQu-vs0cVa+n)!n?do}8)H-BieI@maxo2t>xpU{AvGjhJzSpP}=;`tUQe!kePE#slt-PkX>e&zUv{$sl5i`Vx*G(Yy# z(#`$iRLvLPG^6H=hpf;DS@e88C-sY07@unodun{`seU*1i*CNS#^S=^GTrmVbAKG3 zFMh$&x853_FYa9KESmW2;&{#pn(yX|^DTYiNfVdrR%&y<_)zDI@0^kI#m4$i>KCuK zIPvqvZfzM4&F;p2(e*2%4gJS-&lm4|!9(+7Pc7ZtFHY5b@%=MuzPS9w8X-A*4kf8y zJa4t~yY{fB#@C+ecVoZk=8NZ8{5V{udcNr77PIMWW+XpQl9v$$!5H3vm?>=vl%CG! z&&-whkjeT{UZe*~`L)B9T6!>3S|_4PHM#-%a))3nd@x+0W0_J0^FmDiR3_(%`9aPzi`iVcoG+}E zWOY8+o1i)>ez)1nop+wD0+Pn{(Q)PT<9Y(%Gc?=9Z{zpf9ymSh@L+BzGd@zO#;5Dw z!d$JV^gd=zaEBE+>x^)FX_R!O5guNQ=i6d@vrmoZJKgy1eMvl@>(^g+aXg=i+vTUI zeqeh^O}Wo*H2Hqs?KV<#D2jSXuf4}NSh_5=)Lzmng4}NixUW|q+t+vOg5%Pwmamw< z>P08aU%7f!x^F?cR4nHzm0bFzFIl#r@8rHk%leK>XE$X>a((XWj1I+p)V#n-;72v| zIK<8q%154cvw^d-PLq^ueAm9yDcK)%)JZI^N zE1!SN%H`Mt)n5Ur*|GS<)N_c5v**cHei-Wm=`+T$q)^$EF6A9JC7FrTgD2Gf~r zcD$6yZX)X=jNi#6kP8;~En3*88Tu`9W5Vf?cInO|x%Igb;I1!G4uVHnzO#oT%SbLg zRxITt$Ia3l9;ZA<7v2uAa;_ehtysO3qyvraa9x=%S57=J2o5s3E4Os85B0xn*(vE0 zi-qE7&cZJ^*!bMZ)vrrCyj|M8B-*8Qb=9TtBNBG${KM;`(`$3kn9oYiV=dp=yKMD} zWlK?S?lIE&mcMlMGX1xd$FdbGmRA43zncG-f+qhIAuV{bt1y$}PaXk}fJeY1;1Tc$ zcmzBG9s!SlN1)RYkafYHy&~7Oud;;?x6ZTuLi-)l+c(YxTmde|Eb6 z-oAJQ+`3@!RO35R&zIe46&_!F(z%WAO}VIU&5A-B*R>|CXoeSb?^(Fm-dDQtJ8lJU zV#mjf@1SqT^IdCv=QjSTXoJ|r#&_X0@$yy~-@V_A=i6+2M_eDz*I>p&PA2c0w)?)V z?Psb{;T6c{{nD)u+4kuWkc>yK>=AIBU{AsKkZF%GH+bIC6HZwU+Uk?n@FW@0KT5gN za0>S~%{XloQM>EI^^2KF&AuInv26+cy;MHxONMzxUAAiV_C=N7U8Re`q&2&Jw1Q9^cg>=1TF`= zQe2YX@Y)3qDWnd*79Tiz`>EOSxutW-;>X2rt}9ceHeK9vO^;g*4`yvV;TiM)HoIS$ zURFIHe}q!{t^0Y3rF-rCsHbQ??WsHZ_4>GL-H&>I;Qc%f?LXU?7CPn!-38Cr4)pUB z1W)dl6VB$zbNd&{aqkk%xZlnP_p9VTSUTvx=?6UiyyU&g7!2C^SUW5K0VeODe*5v* zV4g|3uPR9k9NVvFV6y*ZKe-DDhxf}hBN&q7cdlIUzn}Q8TTUEUwd6A^etqV_pZV(& zwfw;)XB|w+o0hn8+$wQ(=$7+?%`fbyd`GXYwu3I}HZRpP5~}va{noz(!NWd$^7r>o z&AWE!y`M|J?&vQp`O+Kj`SW4(KefcUe#CR$^@xvr@Vn1)XAv08?N8}Nu-VQ$IRm)= z;zk_zgX`z~>BUz+{+xeQ9d?dwu}zWLCPy9rr}5phM4|sLJO5!xj}ks%3@7z#x#Rj3 z(Z5v-D*cXzw2RV%wcH)!{o&1)y-dzuSdRNe&L>{Gu+j7P%%-1NW&O5lqcbt;tiHde zTDgYBHAcTCuTT&`9`Q2mI34=r&feBCmX z{+A`L5$=22rDMnM`{gA{|KSqXbetS(-3RyMPD~HikvI;ex~fNi;98sFcIy(?+LF#D zKX5_muyFJT-G$j?$$s|b4xUBap;h2 z%n#H5utfTpga2Z3U0l}ATK;EMxtjh%Q@YNj7A{@=B%PB*t#T}`EvtdwTT&>NMstIu z%my&H8gQU#nMe2QIc4X0c7B|ld(l(6t`H*jRxu{ay{XcPo{f=<*N5VRjgS8|Psi@s zyiLiqA6ft9nPA1i61Agw-nONd*#TG6hsR$$9;n}1eEgrsBZS8z&(iRpY3-%m`{KtN z4%)xCE}^;K*y^%6>O6h@$G>!Ce7N|n%Ms7qE262J*_L_DjAQdT7P<;;S-LF=Kg5+u0JK? zG1+U;gK{x?J4uxkuHr7y@7S> zvo~nnFl_g~ z$G;|ieCxIQ^Eoe#=Ue%BHRRkc#*gQ{#&^~i;`z23-@RXs=NmS@-+n2cZ?5sJ`+PiK zn{ZA$yPH?_rc~7tKZ>`1p7GuIgLuA_Eju2$CB9y_*aK%f*TwU>-r@R}$3v2`jjro| z9?v(`xykd0cKgNGwAlVTvtLYlKKy|XX$`n~o$C7V@;VyK{nz&ABX6?)$U1fdWY1Z*d{2x1ch-EYIX<+Qt7avoF$7LQ5gh1_n|6?-*k9OyAA2+|lGo9vk(V6qOUDtnnwkzTzX|^nK zds^+i1YivBJck9Nny&&}}huw6X9($#oqzcVK|-JVf65MFN^29z`pu^)l=g2ZZ-QBT^-LCuWkBrr@oziv#aAO8IP&DPy1e%_QTV)&hvf4 zqubYcrYb&u-lg%;xX#n=xO970_a8bg?G=pKcysuz@qPEO?Hk>43f?EqUp;% z5YLx-f|gvi&F!Q&O49WG)=$s*HjmN=Vj>kj2|9*0d^OSCBFO7Iic3gUDi@0>weL-`3 znJPSvo1u8L+kZa0MI83D_VU~oap|n~qVu?Yf%jGM;bP?zhkT>xAm6#JRSgb@$=%@~Qn5uP!R~k;?xbC!dg{f~Zr_J#AnCv_**CH;RI4;c%R;9G#UH0Sn z^?=1TJ}m!LIPM#}?N!FN=8ky2ji&DSFEmOBr|+`os;(%-%iG_^rPKZ#F5j5i_%NkB zaB#f5t;V*98{cW|+V@0yRq$J1teFX)k9j*s^{ zY#zNW9nZJY_62UbE?)1c#<%m^@q8;S`@T2D^G$W`^tH3iGrFC%|GO$%JRS(%+Wx^- zk4FfP3uY)DQ?;*svEdW$mz(E&l;KF}}8R6eP`fOxJUPpEG=t z?n7r?D%I9Qww2@MRrx#gV*29h$6Xm$(}%~;W+)!*&i{VhA`ac!54VfQAG#V3 zxBuH~{pJQvig>;&P1hCY#VAGA#g={1f5h|cuH58)c(U#6i7m$0OmAmL zwTMG!wzK5;Xm^}mFvIbfY=9v^PsjlEQ#@$Hw2=eybXwjUMGcctBr=H|uo z-D7;`9~RHoXz#8{PhUGLb!A*7<1tm^(h1jTM12tr1=Ub^?vk2xtCVoHSev^0n{CIhd_U@|mu8XS^yCSZ39UdonJP_oy z`_LD8JVJP^@_2;sc(KPLgvZHUfrnd{7`E~EihqwE2Ui*2MaReUEjGUMo*mDZGQP8) z70(A~JNif-m)cz~KgHr_ZpiQEdETC~fA9*A2O^<19%nrsAw1T3JVJPsJsu%E&hmJK z@OY!gBZSAfU5$s%k!SUlej zTMs&MalCygcd@w?nd9`Fpx>VF*m+>s-o^pxN_)TAnpej24V%2X4~plz(#GFy z+v52yHohyq9?#ck@2*NGk4sY(S0Cw$xJt%jvi+M6A;JKywoerKxYe}A+%b3K|`+G+O{$#}He5C5sf{$@|>hwp6>m(J>U zlH+5t^!sjOTO9+T)itN(iUt9jxj5eiSb+ zukMK#nYZP zo*mR8E}hlRranFnYY~TTjgNNQ%MmjikIBw=j&2c`Zfh@-#bcqzBdGsA-?L^29^rLO zxEMOxU)Oukj*u99eNV?@&Q>l-U78Mp&0&V!lu907Cfin;HGTJpGP?DVHPDN-yuH6?>|^=ipPF`M`7`Aoexjxi`<E5(DX)2mw%$^tB+9rBmPg*_dH3{ulT#BPq+L}%~m|_ zI!yCl{yO7-oTh*KS52R)$zaWFwQr@RJMA=m^SD=TR$ph@JZ`GS=|RIs<3q6uCYbN< z-f_A)KD42`=VLY6gTS5JzwgNz4*NR@u?&9S6*(yjCS z$=(N^-6Aeqc6|`UXiSce$>MR&48>!r`qT3aAJ-DKlA8OGPU}w_`;W=S$J=LUd`uRP z_jV;7Zh!Pt8xEJhEga7p)wRzHjBn1?c)rVx?~r%K^WAKs58qnTG0~OI0)k+_O%vtT zXq)Zw?6=iuyW*<39}dr3>~=VC=gEJ+`9tPnZ^*4q>vuG+_6k(ZcW(cF;g^O_Qd}6@t_Gk%Uo##LH9r1gj?I+#XvAZ( z^PT^05tl6uHMDz^$?>6hwEy0Q|1&(2+DW(JF;(|Vk9@t>e0V(WzVT(M@OYHR0|8Nc z@6!Grj}RUQcsxRQ9O&@~;c?Im!DF)XkAuzsq z$K>z#-41<7T*vJP>N?V#V8?-K=c3Q_gbi*;?QiQoH&x>K#%!9t=G=I`c_we?csyUq z`0idG&(~n?E=xAw_w3nm}mD^tX z-s*{GYdQBl(VZDhyZ5v_u&<`CwrTOUw`o>j`qNWiuP8amn(F-Z zxLz^T{XT$&LG||%8q<@XAI~>@HY+gp*^JL{D1W*W&G8YQ$4#C8SD62)kW0<}Zw%${ z>O>MAZol1~Cm#S`Js5e2y;4y+}sb(72BLw?SJoJ)Z$0wI7gfN z+pR9Eqt3~AOw~MY+;DP8D-6vz?cQ-(+u7d1>Gs^u?CWO5)>ogki}Ck`{c0?<()iA~ zAfB(^y=V6e@qEK3@BH`2^KG&Fmy7Ocv}k(M$#K>0_n+3!@OC!Y{gl_Xh|8Agt?)Lb zH^)c#{=l_5cb<(I3?rSdsb)yevGlB2`U7mW`OTXR4|_1q>}u|3ItvdszF%!-pZ((a zc0Fc%b54xs>viwr{(L;&#U}5_7sd0nS~WgD*et*PGkUSra9sWs%Qw6htupyGFFWsJns)1ZxzB0Z&7bCcMAL2` zCifqj-fa5jzf&((+H=K=exmvIcxiCekIWvk_p~E5{{m|$H+@mluHWD9(VFhnQ*hc< zT7I$V%dOQ6TjmRneVYn$&q*8Gj5#&;I}dgK_b%&iX6pQJvg6VRTEwLj`{8|pt8E?o zyfJGy5iQ_myz~23xC#j7{z_1@m+U!Jl{s+yYx@-e3z$G z(~Uok=ZmtZk>1?S!sGkYt^Zx}2GyMknb17m@80{0U5Ce_Z)qfUHXd48PwtOBZ@EF==tQw0VGgYcOZzdrNezbrXRF5c60-uJdk$By6kuSS1U)AC z=l_jJS6^$<_~n`BnLu}f#vAO~ZWM!sa$INTImRHcjXp={cNfRn#h@ebeC^5olHB}a zJqIWC_w))Sz{XJHp|6gB>z1J=+`7bx=DqIr0nOw*Oi*(6I{V$(RU6q|A;w0iUxR)7 zKZP86H^H;RnAfh{Axy}zvfp0JQH55mb(}7@TJ$k2=5`}hMi4Bp3vtvHWye^_jgF0E zD!FuD^=d)&iZF1S(-k-r*A5zYcAz>4!D7c;J3rO3Tsv|8Ijsxr8PGQR=Ep1&&SzG=KDrMp%>h>5BP~TmRW;_Y*h0+I3nJqkNYQe>dGbalWHo zYkb@O<|q@N-S=SD{J)9wyM@{uS33SVG$+5W{;fAC25vmnRP%ktmX3ld8IP&j-}%1b zx$zxp8I~7Jx%le*H5~ly|{jOrFEBAxqG#UXuf)X z%{cO1@%`(~#<%F*@qE?&lrKjp>=JTvJDaNU{cLM@VO*Q%Kf8B)PsU@i{myHBzk{le z*>|5I@zL%${gxKvqBF;7?T6TRz;r8@s`+_PoPQ4>ab4)0>TN+y92?jj0=K zY3+&~@p|2J6sO(RD4{db)7S63qs92zQ|~+9*QNaqm;JHyjZGgOQ@0;_f#H!7x$dL$ z$LU@%b^4!|x!UmA?4XfzGd{zi{OL|iU;nZAI*qWIcE2>)d0hVt#bc`G`6~^d@Oa$Z zK01A#KUH`<-{XPKulD`g7kE5Ec)YMH@NnZ-C0`lIA+bJJD(8!ZU@SkD8_5@P>7h)1 z1Rv#!a^`JMyPS31g+=P#%;@ab2#! zG``(1R4k3E^dK0njHMxVq%x+ILOGLmHj%>g=z0`SX9lzBY_YH&#$_u-5sv(^;Y>L< zn9h_+nN8`@;vjwEkuRqUxwWu)eJ(v#EID#8Ue2WlGo^L-sARwwN~eq2bfuKZt_y zR+f@g`d|)jNNyUk);a^T#Idqz%%x#pIh|dfb-vNwOff5V7mE4vCi4!6ry;v6nb0KS z^XtXra(cX+F%6@cjp=M|WTc!P$&cnM>9WH;Jy6Q89j>Iua;1E6Fg;i*N=`x1YM=^k z&{fEcY$^ll@<=|b7FS91yUw#xZnTK17|dtZ7K#8fn;t3wDFp@gmday;=@Rf7%#E;O zAarzmq>@i(hcksjZbZN%-vB@#A1DJ*gzH+Go6Qv}!P>F$3F+elL)i&4OyFQ{C<8s| zGjpY4I_shv^`ARqJXgq41*qj{f&wA5n!d4OIh{YFlt$yKK=g(@ z!f^v+Gd{|&8cj}09E+;VRdQK2UaDrCn6~t~!Ccyn-t}e1#;LwIKH!8@hFx8b%`!i#!I3X4q3x*7ppZ52kCiNzQs79gu(l!-?izhZYqmPRC*_<)rBD1FS0WlGv*A<(Ms2Z;aJd^G<;IWJvZW4UTQGPJAu(4I=@GSLUs zDhHY6F(9}By%)Plw9L}lT!n3T9Q_~r(V>zCn0q}u+a-FRY-S`sV0IH-?M?@CS@dr8 z-30w0|6nOUBt3Owz2^#pX~aa%)i3i$Dis7x0c}2Ky*t`duACnn&y1k$g}_ADg|Hgl zR7P}xrJP0#j6lj4$I%m`qXGzk4IMZ-L$ud2FA*?f7-`Z2 z=)-03DG!@F;@^0ofRO@-oLNJ6BtMjsu7%+;xB)#`dT`tUrhNe_BM54I0BS5l_pPgt zY>{uVG?H7N!;n`WCD!h88Pnm?=)MZ+4H?7-`UMFCcJV4e5s^?u{STuvohXB5S1J`$ zW<_F%=~6B;=t6%OZ921dZHZ%7EdM?<4ex{*ZJtCAEl8Zrp1YwN8%;v^iAlKw_5-@_9LT+dXJ##fo z%4tkH(iqb*k*TNCCD!IxdVOYOyw>@dh@n#588qs8!eVV$dJbt@p<017q!A*&*`0O@Pd*xBNwLqJ)fBb18ib-5g- zP}&O{T}J~U8XqTg7zogfm|mf4@3J#>f}@%?%c|)CC9pv*!~_BZm5iTm<|S33?bt>@HMlx&s*af&idFlxFQ~?+K~P3j zNev9=!vNIM`d!>w`dCpYX&DSuzoap?xJY;NhHPdmlg*<`%jOsnWelBcrD*@uhY?_H zDT86Qij&YcygDBj7psAfc^F-GY0S*CYF?l{&CsT_biwS2 z;3no8OqSCFnEcAbBq$c7W5*Pj;ftB2`C)X5&tvq_a>z6KFib-;u7<0lYZIz9E6j5_ zTyLuNg(e@9Mi-H2Bi7fHayAR6U)hmyRE!ynUV)vMxd9n6P+?%V0RZD)F+H3a8FCGf z-3Z6=>~L-rRb6uJN_ssYmctNVf1hIXfstZ%9p{K{&@ywSpQ`mOGNK65H5w<)>zo?+ zjZr+i4s(n0a7L$oA}TwA`-cps8fdch9WO#=@XR9a?`$qLm|34kBvt1WmLA9#w1O>7 zv(Yb((pJE zKJNHL7(Ng=`4LQ^ZQfO#s8XJGJse(Y^~U?-agN}aE3YkaatuYd^KtTI{6dvV^w(x4 z)e2dgE5KU_7%q+$$BHAHM$!4(*hLxjWHm+yILCs?d8W+1LPos|CJXHTi-T31t=*>? zzOn+KmboV2rWBYgh|PmVPB*I)H4Nyb+D!$Dj-|&75?U09X{H;H#x&p>s8u}Kqln_M z!6Ec$mlzd_qT;hnw>%U4ei{R^HN8 zxEtv@LN)Un-AQkfR~=61r|FW}KdT^}+nCK;tTp8|G`OaGsgkNbhB?Q&>fmMkavNVq zc7Baw5umY%0B_}xA1-Qi8#roEOTC8&RooY0-e+;jzHh9E){T3&yviIHFJawG?!Gau z7%?+~l`B|K9KlT-mZD_M2Qn~nat>qTnWQn1uO@?aY-fmGjhX;yy{}(qgIA5NEm;PF zx_K$KHB7K6aG1crvzbp6gAs)zMf6RNb!2&>YH!Gl1|3raUqiKNE(&2zC<%V!0%voL- z=^8zJ|5v+TLnLiV4~-Y(9*j*=j#_?cypSHo5)BsIw3~0pmyrT(IXxj`O%7%jQB06n zBJrK>BS^~())`m$N94`MY{#MINd6d*IKy0NT2KVQmX zwWK7s#}m^ruDff$69FJI5(}U<`eWP1%=Bl?p zl*_dXI#HdE)#QcwBvs{#mdChxwRT1|`>H0ROB+mM9lJD=85`pSqAF4JhWSwGrHtdq zZNzlFf}T~DHf(hnQ>!o?%RUG$M%Dy$hg)b}Zvs9n)|IfNRVwqw7yB;*8BCJp9*HY0 zvL>OEGCEkpt6I>Mk2bJQe@wrxt87F!1U2U?PHb zyXqR9_OX;zpHE;%5jY%Q#|J0|OQUw{9pb~i8`n>H4~pAcE}&L#(Bt`PiyUcfSy}le~_|iv@bEC>N>o$ETM207Kfpw_)`9Rr(>xEH|6u_Lph>*oSGKRZqR`%y4wtUYng`-Jc6DxD$8z4ckqj zebM@vw%gd?D5Y!3)$JRZbY=!{Z;E(u`{d4k(ruFm_X;`O7s`eYS8t^+VLk!@+c%OO zC_nBgrMn%)+B`=*=2`zqe)c1w39+*dej^`!$Qj|$TIql_vh2Wy4DAoFu2AH?Cx%V4 zNIh}w8-0yzVAs;z-mTRabyS^0(c1i1Bv;qZsgHF-TdBdNrSq(72#&5k*D^?VYjkBy ztw&^875CR_ZdG0#R+1BzXSXphpLDr*i@;sV<#ef?oBA#Y9lbWYQUe@)Fpni>^n%sq zS#KZYRY%o&q2Q^O$F!e&-0uF+(be+W#I%8Kb5&&sM~FC+Dg%tXAB}+sr3( zQ{I)=gw@%nc5vFml|{~Z!v0s=9~VfA;}tA=2?O=8ParNB=fplPKozox_kymSG9Jm- zNQdS8Zi1{aPLyvGFww*Dp>}tHercdQsPkW0{<1VWC|wTIw5znC5_(7VN6I-m7wwd+ z{OnXJMY(koKHRrpON}9t4&U{e{LHk`QL$n;jjg?Zuu7DXN z{8(C)2(HUix@?YxN(kKsAWVMhHZ4>jHaw)7amJK3o0Bz5*GRzvx(s1CyCFn6O9fnO z=e`-XjYLrO+l=;Hf|=`29s!SlN5CWC5tz{k=yQI12V3lwX5+u9j))WbJ*JN*1;@J= z=T68K1e@hOXLv4jX}r9}_JXvl7R2+NK1&tN|9pf(Bj5E1y}0OW$P-E@n|l9z zxAb+xDcnEqxzBNJ^LU^et3Ai{jjq7My(eba<`35&8; zpy0p$t9Qm2HEnB@B3;bB$Uk&;Sej>$vhW$fE7)0ckV}g~c4`hbAQ9oaXTi zi10^Dz>Z8pL%WwrQPClJl22Sv1SP=74|)O~{ZJA3lmetG>T&@hxwKj+7J5{XI1At) z5gw>e#cs7!A59S-gkP)`Cp1Y*X4@O zB9YDL1_SXRfGj|4DF>>Efsi$WGKiV%$I)kzkHDo%v{G$XOW+aHB8?!!SRvsI29b^v zB}fe*4>H6&TB-qz(ju4EK@c=R6BH9gwV8O3C^oY^Imsb5QZGnkkxGEcyrh3*&<2Mr zI)GAif&S4@QB0lGK!Gp`T>K;qf)DGE%xa!uPSNHoaYhzc#X8Cr9)hbzQh?M3#7I0t z6de<^kcE7x6J?AmsDfpbK_6HWoGig6PX@aH3Cb7*uw9U%CH#Xva^YGHfIyl;3JLHG zg?Pe$gOQ~125aI=7UH_ByuSiC8j%Rf!^jU5v(u=)foAgqDhPxPVw(5=D@4rb0E0 zeh_+iBizEnVuVQQ43=ooNd#2a%un zV^T>{(GVrM)Ikm$QuQoI@WF%wUP?itOn%lf%z%0pf(&p#D999mVmOdPE-As9VmWGK zDezOI`pdeb2uM;>D3cUc6S%=DMuIB!Oe(DdQp}?!P=J7dz!OY?bec{lz(vVwG7$y0 z5bT213mZ)k(_t;}vl0}HL$nijUh+R{ih6m%KOpa%6|xu(^B|nq$psS(1J*gNSh;dR zTScsh5f8v>@|y*jtk&cZZ>T5KtWX-mYpKvCq9Cf-v`I_BL;-`vi5m}rgFZ-jv!$aH z{)mcx5vU*gQR=#QgAF{ztRXkXu zG*y}gQ_Ld^Z4^6^q92MOyv9GV2Of!5Ff$WWLMEDiWbA&lsajl_1_p zageDT*Q!+T5F2^LCM*(Bjs`=DgsMafv7~%t(Qq0m1RxImEXa@|iDKxXK#Bza=oh4c zM$>6C3Alvmj7b;^`DDW-p~D9S5*d-qT#ArFLZ>Q%1?gffy=5gb%`EUTm+C-6SsI7p z6bm-~fd+0mMlE7C0iYfPgye`-beLq=#d@U(=29l>fLX``sG6dwWH$T3NpB&UG@3$> z7^Ntq9!VaushD*mmf^(OCOZ|=eu`8>#3ON+vc(wIo+t$euP6lm$|WU&kCur85JmH; zj<(`Iv1b7yf+S&}{gePx$&3%yrRXgT3IO2sk1Ag&| zct9$0sRC^L&uf(fp_EOSi6mu{mzSb}22-q5B5MPgEH4O%Ko|uFXa@yQ8QtO)VWDR@ zF-@=40XimWDx)DHkPP%6)r=A$isOb0V32r09^*sI!8I|!H7kLl zkYr&Bt6h?Tb~*}#({fnN3&jC-Mg6c;4w^0Uv@%cyhuPMNm5l5BfyCq)omH9CK|@la8u!=jlypv znj%W+0DTu`T0&3h0}k>a7Z)^w7KwI=O9Dv$zy!VU9~PO`}0%7ymK&9REk+}p@P+;AwXflIE zG!R}GL(AxjIV}vLnZbbra)^`IO#>;G%4mihbc;10b`dQWAPEPZV$9+K7E`nM1$|Ol zD-IIj5G9K@jAzwDp*U0l5)jP{(SR~Eg@<^|!n{TiYDFoABmNOmB9Bx!h(Aa(Z16|aki{5bL2;TsQ9cWS9c83eKqH(`$Ses2 zoS|CKkvgFsWTUKD0%kfuqvSvE5ZR0&s|X1e8U@J&9tDvDN2nWx)C~w?bs~dsqcE)| zIy9e73M&y|5_}?#C8Q8b(?LN>yr$!3xxfGhh@!8M26mcDODG(&1sj}@PrVdH7zhln zsD~PPfP)NDoR&enNCLO;L9&=lF@zT7XpA7n`lBIg31qN6f<*U`N4;VVLVsgah@T&pQMD`UW|2mXB+jf({uSBypZ+x=rtdgND#qx*(>qx_Af%tO+tuJ+CPqT1kXv5UH4+2{vG% zFv1HS%BN@=#WPCMSHY6(yhe&l^q4-OIGmz=lt~N)B#5P4`U(ReiZ+6a^+ns5FTnB| zrKEKbFZqWew3`O$KUzsUjGHB$6e$l&MTcsmUgnEDmSR!0QQ&}Xm=15mUb+JS7%#M$ z9ts+)D!NQ31Pub9xCma531bCM!ll7LJ4GJEE0Hn;G1^FXK+sPz7^qMWTd0}ra;9Qh zBpkS+K%hx7QYZ^9h=T~EB%UChy6HDb3IJ%xrF&pRLTZ$1kz%kaNHm1XP+riY$>hc% zW|5ivN}*#^f+7kdm4cIML55HiqA+>`Gv$gAf=fC?(e$10i+rRQj)FT~gDOae$H=D| zWQxPM0vEF(gFZk3WPq6|lprgmqdYBPnos~K(D_MW;HST&qnsE*1+*Vz!bHPZU9cD8 zaLEXe`X(ZjOFpW_0d8E8L42XXxS;JQOpjTd7EzX1LY-8DKbRm|L84ydQxp_XxF`Xg z8kv9w`bEn@kfb2M0EG^L+6s}4&4;WM1uq0B0w)fDM4eh|C@fHj3~*9D{=-%1<0TOz z+~N#aK@rPYfAkt>fq~HAkBkt(nxYu-8+-tRY;=&4VYPUT(v-`37weIQG~uF?>INl2 z5A~A3YK1^55=2mrfGai>MCYhQBL@=k58e?HFycQQ68Cw{l#!^JaMDFl%2HB90FV%( zY^K;IX(X*86KhI9Rdm!0ahiUJG@e8Ql&~13uqY1rLL_MlFZqZ6C?MK+hQGvs7Xmqq z1PlL5n89xdGzR#lf{{g?G!zJd#=^oUCy@q~%oSVcyvCrbD5**DOErjSR-)P?)krZ? zL1MRnL(9ZeQ47ry5KO>pm_)c3K4d}wzzc?}_#hlwoM_R0IId2U7qW=E90EH{!9Qr= zhlrvY1`zCGo}?6UBY}Zwi5%boCC~v*!N^c!4XJhr5)^@vfC*+=glk+t5iT95PzAc! zL34Pp_8=TCO5DR|qD%sdvkFx=D~%|KVa(I$q@j!lSZo5R9va{qVdEhJU=lB28f4%= z0>VYHQV5-8QXcGPHIbQ2kWc#<*wl2q0SzF%)9dDlvxUkxWa~8D+8o2iW&D3i4% zbmD{yiedH9Gi1VUSVN#qf)tZbA``5@H7%xxv_gzlb-0FOB=L$OsF*b(P=F@F00S+9 z1pI*u>PV+dGSfY#0T(qAM<}9B5hiICBzRO}9?@)(CITr|A`BliL97A?$}w)G5DQ9q zen^dI7127nCe|1@8Xr)K;wVh*@&^xTvJjBLLaYo*6Kfe*U|=BNf*fF#D;iH1=rYY? zf>olzH6~~^GH^m#+!2(>LyZuivZd<42`Pj}t)XvV0*i3c9zsp|6evPPIZP0%XfT6A z6fu?<>jXjU6lH2ZsjLy4_$Th0-O$MZBAx`9rcjsIq29p`)|7ZF#VJfwQ3K6m1>!#? zpe&^`$66vhU?w$C5)49`AHreyv+p53M32(Jhl8R?W^cn!Xpuv&AqE-XglH(E$s(B! zLWG)1h**-c*xdME4tBU?r{z#dZaT$lUP7)Tl2fl?^+ZHzgTxPIXc7^nhg2z^h;B8M zIEZLEX%}>s00UykZ$nOuAew<}3dKK@PyfU`h8VAqB+PnAFo1}VSei8{xT6@WOVQ^A z_@%H`kFYWD=rf@b_bC;BD1=YA#qeXbh^OplAe2PLKP;tihC8XO0i0<9V@BddXkeuk zAh8(pnMZ?YAWEw35P)*fB>`RSWz}S{L`qN*D+mY9Fo;z`+Zlp109k5^7%BeIIfm-K$H-{#%f_az*j;qn9)tf1&fNC z5Km9&5dGmF^UZR=MHx^?Wh_N0!bLrdA?Ao4TtO6V6aj=6p7BGGrA*q6GOC4^p#;d{ z9k?I|Qa~n}6b)OUMOcu997+{Dg-0v`i5hW@A{2%K_$PIbB#8_RGmq|(k+Kmg+6qWh z<5)XlwSWvNp=O?-1-TGJ2tdLIMe!PB%4Ht>r3A49Hj3>ONGh{Xj1W{2)eMqpGoc0- zg$qzLT#z7?tWbVZKD5y?+Ms_lgb;y`7xawPNXw9f3=s_)7y&;pBm-?HZeW8)lxx)i zCP){T5Mbgp4WdqJL3y#2xX~|B4xd?spR`6kXo0Y69Yea*mU%}l5<|G41!62p&^Vk3 z0{xLFph}t#8rfi#m7)KX@HIKl{FNm>td$R!^tl%i1Cuz}jiB5b_W3-y8( zLLL=CYwLfH z97#iQktTLSD-*PUK2jpl$2A!#5SF1Jj1n-27XH8n6_iE}`Ufe@6Hzo8TFe7c$nubD z-a$HJK~*Ay!ssqavHEz1r*x9KS+V$}>r#%&=!Y_kRK*CU;6*}v%gcoHBfu&A@}b5j z24*9ludh2GwFEB!9{qw(FBis$R!OAUJ9 z<_N>uB>T7u1LpBa!b5u#*NSEb?Y=be_cQDzaE*9Ow%`40i@0>wOW<5Te5Jh<{_X?g z`>)d_hTPBtUvtu`uP5<_b~PFe>TSRU10s@ zA$?dG&xa#ZbxJt%js`{P9 zduYG&3?CmSuURhb7hOX1y2R2wG(Mg)!{ejf{`3Vi9FNJ)V^3}om(IF>Odem_jgObN zh(jmOZfj>#HIFM9KH>R&Gd`Vu|2S26lsz73 zCbjlc@py#r825OD@K`@X@Mw45vcdfB&h@9{@wQz&Ugz-$wTriOH6HFq{jS~@PT{z| zH#|R3YVC8_vTu5a(j52B4{G}GGxgm6NIkC^avYj&{5;jNx4peFr@PY0?QF95kMC$P zzB+wgs|&|Hw!YlFZ#GvZ^!!n-KRrBdz3Btz=^fBFkEoB3=6P&q;UV8W((f7J%U}41 z?-ud9O#D~xhrjj+cmzBG9s!SlN5CWC5%36j1iA`=38wmdXaJ8b@F4>}>A*(~_=o`? zHQ+-H@-zdV&XBtTxibIZ}E5qz?PR6a_9a=auf&U~iYB=&V?0!l(uskO!kcljk^SJ&EEFlu(Zdrd=pu9*9Q(fp*d&VuutT8KDy_ zN4YFXAm|LJ@(>EiA_-c=c<~-279|PgR@+E18>GSX613)38-3Wm5O7Y`bucF84D z;1KWNArIIswZRL*0v#wO|LM2*K%5vK;*E->@6KCV0}j>|A)*81<%xor%^IY=bV;g) zj*v^r5(40(9H7!kxJ)qwT`i}hB9FyrCSAjyB?LCs5u`vUrO*?p3m7A{rK;5}kknfG zOkT)>6}Z3wiy;TrF&Np-kV{c0K_1%0JV~LLdQ1`+m`1jcp@hz$2>ld(NT<7^9fAZ! zWC@sHCVpxV6yXxQ6hWm@QsnRwSu}-^08+Zl@P{iPh(D}+(JlB9Xo>imPo>zob#G)H2Kwfv}3Ajlo$!vx&1v70ED*l>sHx4ny%lQLw>P2eVWK>yV1% zKR(0^WTUjA&gg(+5P|EuzWHq&(P- zYtcg@0j34~6Llz~!sr&Lg1TBDO_lb6lU}M=6#^PV4mn~8E1S_w8hl|DGK=ygMrjtL z6D?v+`yhwaO4&3F5>QBRq_s$jN}2?L;tYzANz7o#i?z^0KM5N6SUF@6H6jBU6iyCY zLMT&6f(2Lj$HJiF6aQhPzyS^|AzI)Pbg+tOj?^SEqsQU~1*$oEA=*W-+QpDXk`y|~ zN<#rc1|Mh+Z4&(Gso4M_%w?>g0F6YBh(VgTD%yertY%;mAL{~`i)x@$@fWIme{=(a2?a8V0z3iYYDUBas7uRS2t)zjp2Y;%C(2Q^BGE6~U^9 zT~L4n-Vh5hka8DzHqLI8LPDseZ3M1rEJ5m#WN4s{nLkPx_OJKbjv&7f}*2r3jQ zD5nZq%1fF>^9Th#$PbbP3FJctJ)}zbCscT#Fp8bfC;1QuI^~dwmjr;&&>Sd0f>u%~ zG|*f+rp^e7Qdx$miY%V!ikJjTDMGyz9by`-LII+R;t(!XK|wT@`e>heivn@;wdd8X6lXF0L_GejzTUAOYlOnT)`tL!4xhD zFfD`&0zMOJ7j$S@nnM)G0Bgi@0ajduc_M=nz=#Yofk^qln*g8)xkL?Jl&Y7SphsdQ z3ehb^n+8D^b7%`uV?~He2ojZ)4L0Zkoz_Ws3PM!M!ZcO@hkE{rEDAAyVTfQ$n<aJU4pi6#p`gGYRyeM~B^J zHA&-`OOx=a91utk=n|U|@>l^>=PZCs+D)URO6ed&9rg%ZG*W^B9CS}|SP`rVFsnxD zfB>N}2mk3TYfi*Tg2h=+;2@PwsHtL~7z*){L$9C#4$yp> zAgaM59Qa_S$YbD;3tAnhw3`?~lz>SPScBB5yx#k|)+~jwQIH_Ug3JbjlX$>0im^QXkqfb%W~)R~ zDOJNP1>Dij#!s0u$?=<(MrFFpctXi;#$MEKUM=QF+b-2osOAG_7FZ(G};fCM9<@%Yj`|9)EPF9Pn|W7bNAuBk5aQA*x+U?Avdat zdu-TR{*5YW!i#waC^`4uczG-LR=%_UGNG8RAvX8JNpUq*{m_8Lor_q7tU2z6cPW-h zcr+R_(|^FG8IQ*MgUR;8xf#+AH{#Lm{lU25pmJP%HMfJ#ygx{ek9P4myQ}fgacS>h z_(@um@BU-_{nGt*U-hZ)C-9|I-m=@{`7S>~`DXubJm3AscNXsOme7M8-{3HRp|gaGp^>V^6yXR3e9FM75 z*L;lOq|u|jTM%^Ly5?l}+vb`7N#k?3&1~^%#OpoX_-?&Fo^Psqt*P&Kp3~KFHT8JBz~d3>cTVTzDw_m=L?MQh4;qu ztup)W-7DU{K9l!_|Bjcp+2kFxPrST)o`lW-$Fu$xFE4rCGTHsux3w5w-L`JkZaaHd zi#Y5l`>`MJc%WU@?x!#5YCPOJUcdEU*Zm{Dzq!EruOsHh_g`~u9q*FO@$y#L`!x1F zGoJ4*<9oqt&HhR}->LTgv^$>=&lhP>hh!wrTPC}1^|eRqj5#TuI_rMAL#oA_;Sul% zcmzBG9)W2^U;(7xXd^Z6kX9^v(Ft;=WW%<*Ya$FlQLNUrZ`TCDncxxGiJO7IsR0gr%3z$4%h z@CbMWJOUm8kAO$OBj6G62<&nMrf)ys#$)_`z%H*&uh1jl5%36j1Uv#QA@Edi-EJdw z+Dv#u{dwKEAJ8fu?Y|HH zPcKnClHOz2na@j%WlEXR99DbE8m^`BLOMSf1Y@OQHdij^3u`4AWU}e8{8(-zU&y7` zgF9a=NP&8KB|n;TK@WO$St(yAS280bxxw_>d?h`cDG%2~B=FUXbfW#)Bj6G62zUfy z5O_55{$wL{+FyG&l36VoAONHa&tn|+mTug4alebwXZYU!@9ISq-2L|RC1>3n&o|fj*8M1+Z--TM z_Ud@PD0@8JBj6F}UIg}r>4(`!9k(w)J|6mtAid_N-xsK1;jcUb9s!SlN5CWC5%36j z1Uv#B0gr%3z$4Ht2;8#h;%VL&IN}|;(r7jn4dRm2rRgBpBI!=~n7(!E zg&$Tt+&3@P<4(uJ)ytl~Pg1|1f_Er!_hf>%9R+-kQuVz^O?-84JBs3K+|5bgt4ds( zE95ij!AvEC7cdnD@g66<*eT|{OfB-aA-~abjhtjXR?alJ{iszg@ch{$;1QTM1UMQk zw2?Y)U%-u8{&|6Es|qjJBj6G62zUfM0v-X6fJeY1;1Tc$cmzBGy9|MMeEK8Pyf5&q zkNbUr`u7OE@XOt}FW|nh}e*_C^=?%}b4%Zh2my8)Mwt>=Ez?cmzBG(Fkxf%GyXB zw=dvEt%Xk;dU`H<++ruuzemU+;m;lckAO$OBj6G62zUfM0v-X6fJeY1;1TE^1Pb52 zY?}84*4^g!1?u+&&icLL;Z|5QR{Xv|_p}*rsYk#g;1QTf2=F<8vuvb}+ZXW93(TZi z_r7=pJOUm8kAO$OBj6G62zUfM0v-X6z@Co4(=PwmH17+%@vq&uFW}yrbGg0e<`jGT zPh`BPlflt@?-j|yjGOIuU=N!U&v&u$-Tns?94obRGpFx&8s7b&-(Tt6diR!j1Uv%W zg8+A_-)$px+`fR@&Gyd=bWh!SOFaS}0gr%3z$4%h@CbMWJOUm8kAO$OBM^naiVYu^ zeF2y6e^)l<_hQ%QO67d9K&+yE2X;799!^((r8Szb@z+_S8qEAp4YnB9uMlVb^V?mT@i3U%k9py zgWlQ9dGsTK;1f7!3WZ`NQ^Brfy0U33muT{#klVPwU^0p&D;?fRXcjqw;2lOq=UW2s-!nj1WC=?SMS2W|DqYj{G&U~VWg zK2k}q&y0*y@B$%6e@tZAV6L1k<;MuK6kHlzTyiFqVfFLkNtDfP9LtsRqq#ywYdJFs z8HLQK;CjX+%Ia=tEy7+u85#LAMgKb!%Ca_f@1{Q(FXSs_@V`Hy%tUx=k?OwLYz>iz z2aDyR$M$n)$-Y`oP#zv18XCz-n_|fxqa%6{k~xd7y7vOknl*67zljbuO*Tb2>i3zx znYuKs&mYbS#!TNE?QMdNzwzvLt26lhC})n9Z=}2Z+(x>S+emlw zKbK$5Ws8Nua_}&d-$>s#g8uLbdvMz*N2A{TBIu8dpg+p!jrO>EM~BC7u2eY_yayP+ z!*6|Yq(ahx5%hzM?))CjkBsD9A>#b~Ht4~2t%%-!MkvzT@Eo)1K@zFGz$Vl0($+-Gx z;2X_l3hC@{ek@(djbhCrQyDMGUH<~p@9L?cTw{@RxiXkrk21$vIoGd@VHqS-+LWe2 zrQBF~q2;^&r9NK_w*2Gl?AlS4FFjDouN|(Wxxi8!Ob?cdV`N=q{I1>B_y;qkb&cFX z@HFF3+1c^et=z01EpJEr)?X?z2!1RWNJw&0n@=la*tOkq4TlCEUdriVs~8`Am0pm03P_?&%1`BE8nHL?ZI zHa^!sHt=PJD!CGc9&dcE->ph2kC)cxu{LMU{JZhFae0`72aY9r3f#C>$gNFtILNG3 zp!yr~$BN}p{!+_#^)`nK7$P7&P#jkPo|D86uD&{sv!UmQU{If8yl1buY`eN6=YB@y(OM$k`djG)V)hP+06&WPYIMbOI;^or5l zc(8gnm#ScAY9xgbXdqWg6^BwX9;b$irBnsE#cZl>hLNfblrmKrpFke_#1uQaRNdsF zPG0?trBNQ|5GsUg4_OVwcOD#Mm; zwDNBL!SeAqPADeWWO7`bhwT_E<_nc_ij$qO++b>`R2&t*2Xbrkg+jitmO$h(+2It% z(L8tLQp1@M)ZnJ<-m}bK7q@~Nrbns4{E&_Gsa_av z_tQtE26B}Rxtw}3lrJDqIh#UAjEy6Z%dQUSoE+`FPciOeM8p zI1fZ2IK`=8UA;3BOO-NX=4>nP=KHOdFOEs^;I&rX%^O+17Juc;hDxzm8AdD8`CwyR zj+b+#4Vm@1V_s)++&ob1C}py&{lVPERLC8jM5ZtqOK}pJ8Y>mExpEm8ugw&+C2Tf% z$J#koo=hS|+=dL=3#VFx)}UTLIXPlh4wgGPZ!kGm)!V~(nYb-f0AsC(O7${Au<;(j z&FVdB-;_*#t=2QCGMW_{&sebp49lr8gPU1RL%AGNex$P#$T|Q$x1FcfA#{VWeyK$D~GGk*Sd2|OhuTJ%@PmiJ4 z{M1PPjH6Pxb799oLtLjYKh;~xmB)@rxz;-WsC@_Ws4~5oDrB+X z-?uaUl_`Hpru+`6rO#akV_k=#w+1ORib1+E`jTT(C%tI(@@J-4TE0)9<=|m$JxI%! zS+~Rrlm1Osu@ee@s`NJHVrm0cxFn_qL^h%$Ka|R(1~*~jKA&y23QB31;rf;d{F7Uh z8RFj-^Y2%6^_LmU&aV{bkFHPEZmv>tb9GFrcXcj1T*zaFF|z5YQW27&oqVcy{(_^9 zI;MrX9L=oD3C=D+;;M6~gs)ggr9AXXeXIFdKM#nXl}tP&z0Ksf`yxi}Wam8-X*k#9 z&$9FU1$yxx5%lvS=x;ZAkDdGM{Ei6ztr7h1jG({E=x+X7$P|R~?g;vOBIxHEz0uD1 zM$q3ELBAk^{(hr3+WCP9`h^kn4@S^0ilBceg8tzM`o%_XtoM&Z&@VB%TPHX%S1IMQ z<>1l?`bQ(^mqpM&7D4}b1pV>|`X?gjpNyb?DuVv$2>KNf^v^`lKN~^6GJ^iO2>RzE z=wFDSe=&mY=1YzB_@xN`FGtX?j-Y?V==<4u*{an`*RCz`Za}`D_|=5`uO;MvJt2Qv zLjE@r@~=tAzcwNNn+f^fO31%1A^+P6`PV1peB;Ym4qT=Jmgz`T~ z$iFEe|Az_rKT62I+45cge)5`=g!1DE`YjRkTO;T{iJ)(fp#L<2ep>{6M+E(65%ix& z&~J~R|006EGlKrh2)dgmHsX9o1plui=)Z}e|2BgDpAqysBj~@2pc^^pe}cR6XODnK zz$4%h@CbMWJOUm8kAO$OBj6G62zUfM0v-X6fJeY1;1Tc$cmzBG9s!SlN5CWC5%37? zc?fLm$qs#I-+7n!eD!m)=l^;0oM&D9=4C67`|Y=`f8qN+`^s(WANbBqulVv`f3a=D zgWtSv#XCOy?6aSD$x%Dbzjt7t9f!QT_ie{t{k6~S^W{hX_Z>q|{P9Vz?)}wQ*8Sr{ z+y43APguP1u6y2j>384$;l-Q&`1kjJ;rBm0<+|a$*Z+C*zYaZW`#rDv;>PdYlDqMx zpMK?4XWsPl@jpF%cuZxbJ{7dcPyO{vmE5tp0Yn`C7hTM{BF zD7I(CUa+9}6vcwQD~JL%?7f#~@9p{22j7{QGn>1YJv#{rpO82EQ*QQu&Yd~)pP4gf z%DsE6x#G(wj{e7>!7Fd>dH#qQ>qiVNJfufa{sFy*6dc@ZaK90Kh7EXp#hO)@KT=%$ z%2OLRo^ji}anr}_UA5};`C#!R552GQw>IZZ z-duS5r%ki3EG+!SK&{;`oc8jdyP`kko^|*$eQ!DLt8P~w{q}(m9nZC0jv zA2{cmZ_M(XXAd3t)H6>!@$}PAZ=T%oj5e>upV;)|b5A_8Ve`7DpL%}%vl|DPdHeS7 z*>}Immki7@=3c$$kK(;u(BAQYru%(*2um?M57mzU&E7iJgm)8@|JxMtYa|nMmM>PAx@>_&uks_%6@&VRrh`NEjGDX4F(x zl(l%^cQ#(x$veyf{vWyJx4IOc-P$t{)_Kfp<{Dw$Hb`p7& z<@xZ0q5RKwdkW;m72_`RRF{;zP1uefI3u%O@!lf6B^PAY`=Kl91v2YVcJF9> zNBKMECz$O{f5)%}^mnap*a7}-NAV%+(a8tH8jz3q_h>#~7AsW zu61wEb&b#0^3XlCU9Vl-fbF{bmRi-LS*t2(1bjUFt>(ko&sTS9%Bx-x_tvg`)T$BH zL8%e6x37QwTiYAXuYhx5hN#DF*9kdQ4cGd4S zLA}DC|IhTZIq&TheC%{_;o1MH6)$G3x?0`)%TC9~gk}vG2i2XA+O32BKdcL|EZB$i zA5Uz@ey13h;O!(VRrm}(E%W%$Za<;7=A+E(KE>^Y-t65o>;2wN=;gJ|tT!9eTeC-I zy$>-+PuhmtlaaR`VrJ}^m8rBSG1~dbj0nLDBV3%Y7p1<(Tn+K-1FtSts zzNn1j5o1rl=kdRr7+J2r9rr%`?lWs)Pw9iKqZVdSfB$*C_p8=M)23NhEX-QIdh^$< zjhw@?IxftL9Ub~2*T`9wHE&_ohy`QTcQl#}$HJV1UeqEULPT~EVI~h%0 z$y&EC>+VnI-rw2C$;-NHVb+}YA9@jV?#9>iX2i zX$CX{ngPv#W?)A!P}g{2fQ}b-L^bF%H3OOf&46Y=Gq6)LP}g{2gpL<>>iX2iX$CX{ zngPv#W?)A!P}g{2oQ@ZEL^bF%H3OOf&46Y=Gq6)LP}g{2x{eoi>iX2iX$CX{ngPv# zW?)A!P}g|DqvM4gQ4Kmx&46Y=GoTsJ4D8el)HPn1uj7TCx<0jWngPv#WKZRB)$zhkU7y-G&46Y=GoTsJ4D1L7>KZSc zuj7RsQ4Kmx&46Y=GoTsJ4D8el)HPmMuH%KBx<0jWngPv#WiX2iX$CX{ngPv#W?)A!P}g|jaUC!0h-%Pj zY6dg|ngPv#W?-jgpsw-4vpQbbsq0f4ry0-;Xa+O`nt>g`Kwaa7H*~zPBdS5CsTt4= zXa+O`nt`2~fx5;EpXhjDr>;+JoMu2Xpc&8%Xa;r!15~`QBqx1t%O7u=A{dX~Zcah< z7tMfXKr^5j&8WRKKN~TQAVg*_vO2z+%KjpQTfQ@XtHpi>i4#fP4m?6UoH{JyG z-08?@!;Lp1^kuqk{T42JVzxIN^2Lmn1fEOat%!VE6Zmcf-iE;2A}-4z?QDm*rtT%5Wggpxp_)1LCsWL4P3Nmp6fI4~4v=Lf#4G(tcU*oe8`P;_mwDO5oiH zygPyKN#J`C_}&D*4}qHm-h;q<61eO)vYjSE{&>KS#r7ridlUG61m1_h^AMN)a@6P& zj^q<~Ujpw(;Qa}_fWQk0d;sEZeg?YmvZ&>a`@^9k#HF8ra`g?y3}XQ^=<)jtMB~K{suT;pZ6!L`%d9^~$VsrMP>|Z3rr2GVh{6vNPB!zsjLcT;H zKUpC^MIm3Rke{lMpQezXu8^Ohke{iL|3e`^OCdj7AwNeUKUX0?Pa!{FAz!ADUx0Es ze+zp(UMt`)jq(`C6G{XE<`;!k8$Y*Z7byQR`?^HxE+kxaCaigUHe6NUvIp+ z?sMPbiN$?3>+=_*emlHIqW+*2t>y+r?MUnr#M`HlbAu7T6t8mrm`ul08ugb~#64iF zKkW1PqG9eTFGGDfKdsUCS<(4!ZNs=6^-a7=eS0BGIB19Bp2}dX%HvB2Mz27<-Cg>z zxD}0i;&6u$T#0gb`C{=faGX>#mZM&0S9+}C5>-$o5YWPsjd2yqJK!~Fg%Vc46SvAe zWr1*&#~%_S_0=es_LcdgF|f<6W?X}Mvfa4!tg^TrWr<#kdY$l^OevO#R{ATM3A`{X zP@av~3Us{J;rCW}4cX-$w#;Fb3!<)f$s^%dihL!?W&KC(GCOLAytbzbtb>9lB2ZDD z(r`i$aDz%8$a3oc6ZL!Gb({2Id8*Qm#$ZC>;Vl65Zp7PR=C-rg>KsspV; zy(V}qwL&~px!HxYzQUke5YNGDG%QBe)h^r{77@*@h|79m>3IA;kG$_Tly}4{_BL#f z&?k@;mS<+cEEz+oWn3Yfw-2i!^#X)jLsdH@ph}OS@fsU~YzSFX~CV)9CSB??XLlS4#PksTs!o zs3+@T8$B$;1E?qaz1vSmumT=Ly?ycO(qrAzTkQ?l9-r;Cs-ek;L`QuH^=11d?~7Gf z5#Z}#)R%Ur(GRn^$0Mjm*u&gGT6-SNY){R7XwPGr?P2=dp2tydAH2Hk=H0|+v$d^C zD{lLYwWufklS@Bp`2!xg7RFT9p}vV%mp-?H`J0MxIPS3$-X~Cxutz5CDfI`eYCCGI zM}6t9UFoy>1rKN#Ppb8Jr+o_bWc)0M^29<>A=rR&+3sRdZ_rZ_4){E!R?H6gL(mr3 zXQQ|nvY&E2mRPyvXLF=Y>Ez5>ls}Df*llY zP1KX^bsIg5FWy2u>7P^EwPC!ikiVmlzl(CoGmhuRdj$SIfqy{Y9}@US1pYCBe?s7& z68OIe{4)aooWQ>z@GlAcD+2$Tz`r5zZwdT60{@=Ce?Yu7UZaVSCuqklpB1+l^rJ%l zlS2NpLjH?F{wvC*e-r^0PI5r@n?n9?luLhx_p@+;OMX|#|Kmzu^skyY>JNqdPn0*o zs|;cOBJlqb_!a`+O5k$CoAL`;S>i@Yo~@AQDCA8P@}>%TGljglLf%3lZ>f;yD&(yc z^41FZZVGuDl*@L*#$i@tZ3(;`fww2{-3hz{f$u@!9SOV>fp1m4e$Cq%jW6L?Mjz{eB# zVFZ3SflnZCamcOayum?e|0F_xGJ#KV;U|<9@pdxRh0FAhAn<7fKApg45co_2pGDwD z68LNaKZ?MQCh$1~ehh)nCGcYj+(Y2=2;3s@QUdo9xR1bX0xu)*ayO3stHO$IgvevjI`ak~l6+dTg!PWDCfq zW7Ecwo^vP2o!)#*ZzFH4LzwprpY# zjq9 zEM8QYuw>d+*D5fhpPD`Bo54nz7=B(m|QEjy!n0oqaE;GNrH z#m%Y;KQPML7u#ZU)Vs-d(_*a6MDhOqb-X_u;kO$xykA5G?)De6s^YNFS^>RC?6bM+ zG7+<*RaT{47{_!*IPHKlj;!{5_ChnIIAU|ogiS7!ZO)mIXxIy9NP**WD2oCD=-88 z1^FiI2s6jP43SQuz|4! zG5A)h$+uD^Q*gW!jFk>UY`L1yDSWIb!C8go)%F~9{;V&~S(^nm`f`0F|RzarBFy!@wH05Lc zCfZ2KcOsTgt~aw9uzcQvc(@=~Y1V97n|#x{(9D}*dn-bIh%f@x{dq-jfpGF>UO`cQ zeqk-@GHA`WInT0zWU5ZsoB{{JDy9CFdJ>k`83$yJO41KWi!q%kj()zqaZkD&mSFnR z9qF^Zdq>d2dI1al3UhN|&n}#ZADBDPG>c4gkZBIi-QP5anC4K^9F{xWG!Fp5K(nYQ zw`h=AG}tWK-z*XgoQ(N6$3>Q?%qOqP5B)F%9fsweFRP2^%S<~3??1_5C+z*3@_zKI zJV}-m^tV{V_Qqv5hJ!JF@P#b;EHq~_hXDOM5`ZCq6)#dz9b;|H41~QYfn+&^Fc7mc zL&GB0;3*i!QnY7@!yY)RkO+qU9*a&zdya9~!}!6N(Ho93Lg3LQJ_ZQa2960GAXYH= zMes`SUpN$~hNv3iDi&R0z(0P*RKXw1;xx?9*=~6I#)^p9ad-~JXGY+dk*rLy#&5=X z7$Q>@2M%OF1CbS5i8tjohjBXQgWIw^E~MLkJ#&Q}WSR3BnC}q|KDVoUY)6AEonf4b z`FI`qG(h>%xZo0NH3-9lG`z*#0(crn^{rNh49-&T*x zYBVm{{(4NdEu7Sg1{kYdJzm-%^_VoFq3Tg4Sa=!QHyP`3EF4jkK2=OdVI_ih5D~iZ zwwpYzCMT^Bft0dd&Q=`@9IK9S9vag>%F#~bAv4(?akUKEG>i3^H-kSQ+X{c&v>{f6 zN!CCUvKTaE2ygXXIGhWsYk57HIy(^;>&fTpEQ>2JKe<0Limf%m8bGp3l!03*;LgKL z?x7Z%N5TRDOhvc>($7ea9Bu^qEu3Oxy@R7N{xnncN7I}n?oD|3)3M+@<5YHKDs#$k) zdI4#?SV83H4wh&g7cDG zFFZL9Xa8V9l8w)>ke0Mao_)asgxs+&$8yPYBdkV6;9FA~zCbHRTD~re;}BIqe=Ika z2*Ohda8{VDXF%yJw3jzqv7nJ|@`FJ&y56y{TAa(eoS0V^4TRYeEckfY6p5`4Ll|TQ zyoms-I-D!9VBKezCdy%XxqJkRjhLr~6R5dN0(_LhjY$rrACt|G5poss;fzZle6uTM zCr#chYCz5sRjeE!yUAV`jSVQBUtpYq7^CfIV7OsqmQWoqP zAm`{j3*KOOb26?)`(&Ir)wbs25>~PuCW|H-T5P^Q5@9|z>4zZh;QIzp#uc?lFIgqE zNbfpKZz}RPRqi_oMs{$jmir6aoqlTRR$}@SW&N|Y zWN@~y+&-VV(kSn&Lk9MiZJ^46WkJ?DldQ9ozf3g=$U?IuZ>UxJ!-i~c`v0s|`swUX z@*wR`0#5sHtX2By>`x|_G5wn`ebL&*z6YPT)NFcf(~QAsiC774T7~z|mh}gHNsd*# zf$_!#P7EI9F)eR24BH#5zv1Z3Lvr>MzO3Gw%w!-7Ym&iP`8Q)elO6f6kq*x>i#bMe zf>YPj;kg)0f0`qGHbfMp*dK>AHxcdEj6&drqw)S`(C_nsGiD>R!(-L#eIUWB)8xZ= zYUq4!#eAIc893fV03(wIE|zf{<~PH^pV+x+*pl6zCZ8&QIqVQMY(95jKIdb3j>K`r z5~B)R!bqM{hoJ>Gd0?tnQ{yl`!}g7sarwfq9L_erlFJ$v8~b5y2%~>ZN{)`e2QN0t zv)~k>z#k^ke}upvCGf`x{BgwHcCIDxbp-wdfv+d< zCkgy10^fkRyM8wk_$I{hlC0mS3H%uXf0n?XBk<=Dck{WKz+WKn7YY0&0)LsnUqKu% zNgiG$^j{gyP6SA@TI#C3H^@<{9^+D zgup)~@P85bX9WH^fqy~ZUlRCN1pYOFe?#Ek68Lun{yl;JK;SGlBm?;J*_1 zZv_5t#PO2sU%wOj|3O?n=QYWWNB!QI@dttbN#K7G_R`d9@FUsBJ?nmJL3A}*73lXRCAE1yARLF}I z@<9suV1;~tg?xxYK2#wehH^Lm!wLKV0zZ(zM-ccy1b#4qA41?G3A~uVM|U@Y2`%zag}g)|AFYs&QOL(CZ0qC!4NA)l;}Pf^IH zD&$8f^7h=j8V1CB{F(1j;yt0fjWf|vwbVPhmU?q) zsdr2*_2#19o>-2lQF{^`$C)+hXgJ<=D1Q}JN|BDOqrM0AyQNEiG%T2=q;44V>Zos_ z{$7~=loH3$3s1>mtQgKLO6#caMSbbV-0Arga$6xUQ^?B|@(Ps8_gtiu-%)UXE%lD8 zrQZBn>IG`47p$dTsFr%+TIxk=skZ?2x~FSr)8VX5%t1EjMC+&@tD}Crj{1o@>Q|z^ zZ1>Zrl}vJ$uu36csE}7HV=oJ9TFf_}K)04uPLb;O7ze`2@a< zz%L;13km!p0>7BRFCp+t3H&kwzns9YAn+>*d^v$%Mc`Kx_%#H6ErG83$;13e`Lj?XXfj>gvj}rJ}1pYXIuO;wx z1pWkpuP5*)3H&Jn-$39S349ZQKTY7zAfAiuhqtFu)25BWg9^_oGy|Fe&46Y=GoTsJ3}^;41DXNNfM!55pc&8% zG#~>Dv%F;+a%T@T`m}1*&dM%qF|W&w^M+ose6b@y>61 zji~ze{ky9^*pkz{?OumOe|huA4t=IveMs!LcmLCB;*9L21xps*nKP>0vI{P_@WM-) z_G`B^%inIv*B_m{blqnIj(hNo!=HK~(6{5r-)8hZY4*(>4_W!yhi$XQ^(pUsNMWbKL%m%X^=hch>=`r`68ANc*$CvW)l;#cqa<(%hk{pPB7ANlK)C$9ha z!k6#*>8xjN`RdBIANu3;4L5#v>Ff9X)&|m@`1{-mi;t@O#<=j9mQREkFPJgT>9p?pM}n*3il}lM6$8AA872S)+Pb z?T;v0(DJZ+f7hc9sBSu@x7~5(ki>423W9shJ@~|&l3v~p(+9^|P3Skj`QGdpZi<-3Euf>JlllvCm)a8o&#Kw8A zjXe6i-Cn=EYq#%uzB=;Zg+<`*e}D1szkm7jWp{k=*jA%_eBX9U3tkNbp7>?rD=(iFPxQa_+;i^hyI=3C4@`XU z>d4tQ-QHur;X?+#HDYMV2e0>eye`9=c@e)^pxmuwUOj4xZO*-gn*l?|=M+ z(~sFQ@5i?HzE^bgmZ>8~kGr(`)IZ9fJa6!BZ~Sz|`RBJS>T>G5lQ-T}UH#yL)zza` zj_Y4+k2m@^={fv>1Fq}!*7_kc&%Jcy`XOaselpYNiUKWf~Ue;ph+q2ltUt==8+ zqFubl^hnMbUA_1G)wQhs;pN{?J#cZ`?)zMS_uXHX?X|91_lfHkj~#11(IjB59sSoI zr*3WCx_I;fU4}GY+~wu`6S}xs2XY=Q7&Fb#iv-L^Woz~s>%HI+m<7r{=M>p{K zjVz-J@7-Bh0zg>kfF#Fg$Nz5E!hk#3rR_GR*@(x3)q;p0XodSECXIT$6h?a?_u}1Ks$4?v#0;jj3Hc<%w~5?f!V*(T^?!oK#8Q}9~7xBJM`8;ezAMstD*Jx2JzMEXzFgCx~hX1t?zu)(U_%8bu z!uqn4G9cUU644BdO?YswVz{VhX}0`5SJsXhCVzKT{yr;j-;Up7wWCpZ0?o&LEYo+l zhv}22jLw2lM&i?d5e8s0H2U=w&VE9Fag`4LYwTB2&)wdoA2vISlO0lTJbtg}Do=bc zt9Jd5;IVmf9PPdyE0QRh808FO#B-VTB#-l7$gDRH$MrP>Qrn9=d-U$%IkIu^$4}q~JFT0De{qfN*A1}W5WrN0xyF4FVe$sq6=M&H7 z{;mC`3m+TXoBP1riG56?a|@&MV*a;bIOkbHzLtxcKnYj}mzZjPCC@k4Vt&=ELk%DD zwtD!F^z*B`UlQZVE3b&FYJN50RiS4hFZ%Mo#ej@YXJfI8@%l5iAIXO6ck9I)FF}|V z$KRl5_saNC#-TDj5m&L*3h`O=V&*u=M7@h%%dCfL|1+1m$5lI>Up%yXgZjm~#t}Om zA1C!{P(IR+6Ysns`q7_niK}Xyh`lZJWIz0$>0r8`oB{VZF&ug6j_pFy#NMUp!MFZ; zlB0xSq`~ zsl4BPb&nIzzMI+q%l7%nN1659`84+LjbNM@bWnr(#k!6YHT(Kvk;mjsX4~~9(UMZv zo7DUHa^a{J>rKbnwcUgEv@7I`bD{PmlIOo}~bo;F%^^Hnhw%;{as)cwh`ChaOs-1QC zNyrB$_v6#Y-Mw0g&7=;$3w=qRh;x|t7oYXmZe_o4w_|yqzNRuDcx;+HAJO5PRGw3{ zjpTczdwrW(Z#>>O_`A${^HA?+Y%lKo zZkee0aPDJ&HlqRgkd27_TB`?+;+A{Zujp>GkH*AY)wRFIZ-d`;OI=S*YP;51liD@= zaKohmwY)Zh_S|!B1J++7;Ny(*8jueWC+CpoUsq$CBge(1hKOsHVEcQvh4?Pd!`8A{ zYPDU20U0OD_n)=E^Ne5T$iq_U<6rmr)VdZ|#COdM`MWpYog?3fnm(lu5%zA$9B0XR zEa%6}dgC!5eu!!UUFlnsaAzrJjpx{g3S5 zv+<5RybgBFTixq8)bkj%wSt;om+U4A>usC9-!+2vy!Dy}ZO?UG-`?rY%Ss|4PJC7xp z-s)zev%BT;`x5-)mH%YUSL*Mq*GAB;M%>hZ?Wz&*QFTWH@*&%;IG5uug`cE@AFcLy zBR(N<;qW8$9{!8f9-r-n2d|@6sN80nq+YDTihxEMdDy${eUWgiR_WL1rB9#9)1}X+ zCypQbcH0%T`~go{)bcVG(v*v*TWLpQ72$B)V9VV<23W zmKV0{Yls4PVj=cpZ18cVFMf*M6Tx4nGzt|n1pWE@#~ZLeHv&HTZE8S1L>$q=ScMI`{#9#|>f4u$LjxCe&8)Wq_0H~=Sx@f6Ebo|EPx_Zd9Wv|vfAc5vYXot{$~PM@u4n{&eDI;> z!?{n>{Y%YKkWA1~kwTv=#T?|qL(z(=cG z*qeio<^xE8_wA0`y#e`<`(hDJv0=>VoH?#rf_n42WY#N2y|eeotY^yfcF(MbYCG+v z5%jaA-5Ri6sn)aR?97&TioB- zoBA0>KOZ9AE5n`-5tX;2-&dS7Y;X-f%xs>m`+eu_@ONEW4HYFDj|Ef373=YL2l94Z zm!K`L2Lm#$Sc7TI!|VM0We=%G;u&rg&f}bgh840#$$SO24~ij{cJ>0W<5+!dC7t&)Oc6N{@w`u-Qt7m;P0jn6Ff?P*9iI8 zIIa$SEFa$J`Di<>4t#uaK%?j5$YbijN52u<#|J(xE_@AmCHdX?`*|WBGP%!kKHrlJ zazP@W?~$15`5vh!;{Hs}*XCSXR>K1`kKangNf!+fJS^na*8G!YcC5Pf)^h?aKP3O*e8P57+$O7_qZK_XAjr`{Yw6*0#X}uxAMEyZ4TAgByj4V>XQ;0%u3ugbYZG-{ivhO^CHN z7NWhaj6I-!SSx_cgAu4B_Gxd9#I>ekWB*ph{#)^PvShuv%kld9%bq^#o-2#z?sxTa z@3qT|Pgs$C?prS}FP8Y^lOODL>3>%hZ+XGmeCftJiye=S^8DmKt>FYZa~SE`jpp&n zV$Gv&kFu}GzOMWA|BioT>qzX)0)-NQws#Q^^BXPg1%}7Gy|Fe z&46Y=GtlT57*{f7BA?qY5k-^pe0lAKC6@DVab(#r;CxcdpNPRPW{Zy-=ZiWZa;GDo z-gV!dlcIS2|LEFp=;61TLSxbmuFc&V=*lc%S5R7?I9!0zZJj4K*i8{1clo9%(x0x7&rrx` zD&(^i@*@@U*$Vkl3i;6r`5cA(7=?VULVm15?or6+Ddd(yUaF9L6>^_KZY$(v3VFFg zUZIft74qX0^7#sRKp_t*dEi$Tb|iKg;_cJOxxt8Ej#oMFOs3<(Uz!19{b8TS7ljRX_*{Yda$Z}b&wtU| zrEM5jqP~e&sSodahlGQ6C=S009;@>B65@@L%TaH4mp(rjfM+$B=qi-E%g6Qt9csqa zsMi^BD+Ji`h$UXP zY24tFvsV&0<^M#vtpBK8W=G-ekG7`@tb>9lB2ZDD(r`i$aHC2e$a3o6g!(=3x=s49 zti>J?VlNZrEdcda;dL*(%6g+Z(#@#1w@aVuK)0Y?6TFsMAs*_icHykAFz8mqbMP8v zFXe>KZTMZ{-mr*>Zbw|!3rol2_j%-fcc8o@UR}TIR2jtIa9V@%u9@^4zmI$;>dAJ@ zd!@Gmrag85dRp?Aq3%LG*)P)Q@l@|dz1{FC{8P>EG~a``?1w3Ghh6ugUK_mfpQ3X7 z-qn4GOS@fsB<;Q*^`zZt^mwihpq{iVrF_ZM4C6u6ll8ET9+u%D)RX<*?WghBnei~{ z5#s>so@w8U`v~4A+pjDAn)~oQwvW2(PNUD?Yx`Jcdzd>&YtQ4E?WwsB?OB`I9;VOj zS%-T2;MHX}?CS5+aVuGWbfsD67>js+$#ZZbUs9e+!~&-sigs<+9!J_r|1of6ddVC;MsgeKYv}nrG6< znYAc?7UiE?k~xeba@@^Q~_o zF3Y#gxmJ|FjaS)Tx6#A+;vLkJJlN4FyffNoyo+o|o{Fy2$h-&e>#aOI2RyzwD{ ze?;IP6Zj_t{waa~i@-l4@XrbS3j+U=z`r8!uL=Ac0{@o4za#MP3H%2F|B=9dBJiIP zZ;jVzBIF6$am#1LEe8FfkpHTX|E7@tTOt1)<4Z4~mh3VAz)ygkZgeY5eI)$i^E&YoLfAGiJ< z1m2OrI}vzi0`EfLT?xD!;w^=_hWq^!-4*gZ74p4MPWiLF74m%)a#JDip^*1f$a^W| z`zqwUQ7+@1gZ%q*ruTE>WdiR*;CXHw)5$0Bz69Qn!27##w5Nc;3kiIH8&8OG4J7a) z0v|-+gWWjVxj%sqA@HFDK8(PJ6ZioHejtI5An=3SxPLfrCkGSwAp|~>z>5idlp9Ar z4<+yt0v}D_aQK{mlI_{%!d~O@?t#HFu-<}k_O{cJ+5q^nHOXkgMNfItKR%vlW$UD zty`w}EjZ{Tnaes`}E#nF{ORBMA z(U+hfw==sv&b|Dndac!{Y`U-X%02bVY$Oi^8gSGG>eLIiw2oRgUzD- z%_70T>6njmTx5yLeDbRN&<{haL~pNzK}(qh2~7=5TJiY0x$%y;zcT|W2~*2fv`6vkSvD~24YrbXjsG=JO#rz z6YW{zum{dQB!Z#8$D)6rJ;ylgVfz7`uJW;+5VCZJaW3ZLb>!0k)6cmd`+z>%+tN0AKc1%<|i zc>lqU`|HM&Gd07w2-6$yNU!$xB>Q?w`(d5&VobMo^Y3*1u*Ob07sI#&^XZHBmrNZE z(Lpehh%-;b=DAZ!Qq~<i)|`K^WU5~UD?7Vsn7;M~L-LBNW|#jF?s zNGJ-&262+if45sI=gNqg2YWJF=64tHId!biJd7tBgRln1nSd27xBHuHaACs+_o|^j zans5z4~M}k!X!c%d>Pv7^lw(wTVX>Bh4F}=E|L~Q$x9q7E=eLF@u612&wm zgfatZrPVN~POt(n$%8mH065F}a?E#`gD1yS8`xr@v~!XTCnqdlHGA0X+q5J zvvVcNXUDQ$oIQze?Ybs{b-E-7gpEudNOr(!Yz$1H@d+a;-I^-f|Od``Q=e|j@gW{MIK=zCj~Ny!pdPd#B)ZPYS!JHUO*ZzRuaWR z8{F7V|=E%Ls8c6X|!LHhq381haqEK=`5y&P#H=@B}~n zHXbZUvhf)f(vlX*Gc)*udfc(Ez;em+E38IE;9FA~zCbHRTD~rePL(R4Kb9Ly1mS&% z5NfgY3@Dw2_VQ*c7BtdLelVy;*E<$Q(OlN$#Jsv_Ak3Cv!N<#{NNjZ&!XPW)O$1og z;arIY>pr_QQ4Y(?Z#5^^eXw793;G-07OmZmwm~4KGkn4~SXIui|n_Ve8Y4UDS z19FxiSGEaK3a`g>hdJ6$%wG=c!E9+E6!wFuV&wqYP4>EQgw5>4I%=V@64N=`kq%md zH^Sqmq68_D`TRR1$zd_IXcgR zHyGZWj2qBC87EG)t@*fwm28K}qKSqUo9~ZAn2$~RA&5Kpz5$f+pS4IYStYed??y~- zD)Ki~?mGxaAy3B&*Op2wcXV;647AQ&Q9SpXTK`r5~B)R z!f-q;BI9M4>ebXZjL)!rBW7H_Fie2i##eG#!(wAU%nf1muSv<#5%}Q6MtRm-9EtMg zS7_Xe_BrQ~eBX8_G4MXL?-1D@qOj=$8#6UijxsSQGslhFo^Scrmy#=s%2rJN-up{YMG>F~oDQ z+#xH(|9YIj*Anjw&l31^h`a0ec>>>z zI9`(V`vQT#NZ>CK_{#+T3gT`)UnTI@2>f*de}ll^B=ENo$4iojw+a1s2>e|Fe~-Z5 zC-4sl{6hl&h`>K4@J|T*Qv&}N;<8=M0RO}~>Su)h=LG%*fqzNhUlI7%1pWya_|F9X3xWSi;J*?0zX|+z0{;(z|3Tn?68K*P{$IrLlI&kw2>q>y zH^p&*k8td79B}0GZ5_l^DZ%yF4 z5qKK{Z%g3q2)sRk?@r(y2z(C$??~XC2)r}m(qEOpqAY7ZT?o7@fp;VD?gYLkf$v4& zdlUFR1a1;|4+8IrxVyjfBJ}qq@ZJQzAA$El+?{V8p`TCSeF?lDf%hly0s=22@Bsuq z5OMh&;h2SRI0F{$!uabiMJRWddk}#SCh+|UdOd{9=b^kk8`R+gaUg$IeUx}FDsSTqw`!?ZT1!1|E%ki0)U#1< zPi8E9rbg{aa2#mXq@&?@*`ZOkdzwcwiQ z7q6vWqLzAQ$p&_jK)SI-K>1ImiZ`%u z!2e0$Hxl?w1ip&EZ$>;h4;eF&A5pl4z*iIatpt7>f!|KxcM$j*0>6{M?;`NK3H%-c zzn8%8Bk=nP`~d=gkiZ`z@P`qX?_Vi_`Z6bvK5P<>ua6M-Jxbt@DbjnKxNj|iuOsj$ z2z)((KS|(E5%>lI-$>w_2>fXRe}=%HCGh76{CNW3OyDmN_=^Po5`n)=;IAN_i|vQE zr%}_Ujlu&JuPWrPDdev!nXBKp zb?*Hqt=}+d`Tc?S?mKbg=D835`3-8Ps)o$4Z7hHJZB~AOaTbku>x8&=OPR?1k?(-qHJb32O zPrX!nT*q;Rul7Cf%~hSou58x6P1ckF;e9+Kw=P+`;=^SxuKD52O{>1R{LKe`KlRBQ zKE3$Wdwx0Rxm&-v>fJ~FI^~J$KfdtgyM8+BnOnZP^6iKIIDNy7pI!R;eZQTz`S$Ow zdH=C3Ej!#ibI+pom4hFhxyIXk{I_OhyY3U0ba~hO_1%F>UOedSLwa8SYPW*(zqtC5 z=9is#&cx^X-x~O4&#R7k_n=2k_$&LAL!an*ed))$UpVdML3c%e%027wXZqf9+*jSM zJo@beA3FYzW~Yzcu-}bkpLM!)*6Ty>tNg9ad6PF6-X8jH@AVHHRN7=imlo4oUp{+w zmn*t-J^9g*W6dR%*(aB_*n48TeK%&$Tr#<6(B0F%xp3Wlqy3mp3l1OK>b`Z|pN>bm z7M=LeJ5}Gk|M1oiKU%qQ$~A{9+Vb(gR=*K`|FK0|Kl>~QubN+c=->UeHFvgrW$>g4{a$|U&NV{^y?x8&7stPP^~C90=Ux5K>6d@_>RR9T zZ?-;h&iMmxd+X*7W&fP~!`b(Y{OOJLkG%8xP;+hb7QgiT>y%S^mK^#=pEob47?3!8 z`m}=HQx0Bm+HUP{8T)LnpL))_{EMD9P8s*=ypBW8>ba)t(gE{cnscD<=jPYGvFfv) zJrD2p@x|v{I&Q|<7hPA;uIR)AuWz>c^aa&VZrpfAmq~}NS)23zBagiM?jw(^_^3~( z6@&IQI%T)N>Z+^OT=(O3mlvNIA1rg}S#rX{zP)bjx1spCc^!+^mCU$e%sHcenc3^Q z>-(B{z5Z$Ln^)L>-yR#De7>O9%DjFXv-iyZxYH$jbo#vGryV+V-lOBR3pzCIS>3g1 zbx~1ak7JJ=HR{C=A21)zdtg-WybY5*<*&RpRN5Io_x^QdUGIH;w|Dmr?7i~(MJv8u zmUq*tFK%2{wg=j>a$To;`u4I(Ij=^B7tKBX`VD<={^;^i$2Bv`o-bLH zWwbE(!x{L5MwZcqcjT-r0U#`NK$2tR@xQyk4hoaCYay-%q%(HZ#OY%In=x%ByKq5M zqaD}F&M`1WE`eXP5c$gVTN%T-UKZ}mWOI3z5vxd)l?7}r6G^iBvJ7}l9D7wn5^sTa z=VWJZ#ScqbCU5Kx>52OdW2L#$1D5me?tf-X8#9KbFB6ehYD4JUkD8?Gy|Fe z&46Y=GoTsJ3}^;+b_QUl(>HJ47msdgwr|%iT~6*|wEcHhIkkx(U-RNF)XQJ$O$0Y5 z`nzU8GoTsJ3}^-#I|C3z%qxa>W5Q91x`qzB{ggg*5T_j)J8`;vngPv#Ws-y=pbKp?xy0gTpc>NInm!W z1DXNNfM!55(AXJ(Rfq2DHXHDMhwQA~sNjJ*DEa5^I(TU84MdkuGoTsJ3}^;418xRt zaoR!tgqZu*q21Gm4%CYp-1qD6ngPv#Wc0C3bW(83+G5RsWy|NCjYwU2%L>)WS zk9~c&Wa*_f_6!|6?0Pk>E!GTZ1~dbj0nI@D7^u&>L#MeqcBmiw z`fkmDW%oV~1U@#CMS$8-usAGrvv9Ise z3}^;41DXNNz^=ytJfmsPn+JAxF`7|lC0i23dM1%Rc91`(N!+Gk&46Y=GoTsJ3}^;+ zVFn;}0PC}iEGlrIUPzsDQu@F_|Cq%t+#0m$ngPv#Wtl$`1u+gJ2bimp$nuL z&Gy|Fe1p_R07(TVFk)4xOT-VrPz)d=KP|&NzngPv#WeeaT^h}RWm#Xg&K?4V{?YiI^E z1DXNNfM%d^F;Jh_Va|&>c4%C!L6=4|pc&8%Xa+O`Y6cc&wOahjS51tjk?dA=J@0VY zn>uz-Gpsc<1DXNNfM!55(6|_=&$`1aAL`hlakU0r8qI)aKr^5j&Gy{#2f%?P_TU+Ybp;0yp zT`0|fWGy|G}3=GsKcDTEzjvX>kt3{dt&46Y=GoTr0lnm4-cKE)pjvX3hqtJ!Y3}^;4 z1DXNNKn4ct6Fc-9tYe1^)M}AtKr^5j&8YKg@i5=Q0N*+EqeGJhI?`xvCUyC&Z zngPv#W>c>Ds#gSW&&~aq_YC_+w8PE)91~dbj0nLDBVAo=xq2kDK$LKh6*Q$AK zt!6+opc&8%Xa+O`nt}Q;&`@#Y`DHqetY1y&yEOxv0nLDBKr^5j&fj{E|`%ygeQIW1G*8Tjqy z6jXoF3}^;41DXNNfM%dEF)*%V%ET;Ipe3SI{BQVEUV91Hkb9EN@w?X!#QcdETfO2R zH!k-s-RU$%eK#)OE$GH&x^7&qdP#ZA_J%{gm?5JXH=gUVQ|h-O?2&u7?tFJ6^xF`4 zTOwci?i|TSg&mC_54!D9U-DNO4#XL>JArpVT$VfN4+Q-3CXnr+katwbJE2_iDeJv6 zfph`V{%pTLI@=?o?GhY|R20zZJj43Lf>0yNa;RHSbamw#bRLCbO zih5QJGd>YE#^*^1!<+_1eewLG$d@SOCoANqDCA2O@>3P^(-iX474kC_@-r3ke<%mZ$KqBr?uo-4LU0$#-Q|nL!@zM;&A1!& zI=j+i6_==jDuD?FEJYgkpu7WKgH|YE1w3)9+*1|^S9$y)5vksba%o?gKN=ML zhg|YVIF=%R80E75qjs4cwL@OpQw7#R!4navC{JlPAqaRxr4M8|^&dt39(dg*eOPv_ zw4*VY(0O;;`yQID{Pxr4O! zyq4LXn)}e6*E8G0^tnB6px!=sb=l3kiO*(hwv|@g_8D)Yp7c*H{ix*+c;p%{Q+*5d zO}x7FxgE^kRD{EEkCpJgje3MVGHFk#KVVhcQR5xdm;Tz7KC55wfQIp|T90?y_fSvH z9|cjKSSTt4@1tC{yI9m4^i+fcK2NC?vjhH+aP!6os3-d=*JFv5TmBHpK1?TP)}s6) zl*|5-ygxM?i4YOeU%pawf~}i8@#6aQN!4xkZ)DU@HPbAmcZK)czXihoxnQ~_#TM2#&!@*grHHzEuR&) z7}QZA@1&4-R>-?3!y%*N4Xq7@qQMb@)GZ@oI;kg-x44F*=??K=_3A`79?~6F)7kVq?`zhpo6!JWUJYOO2tC06o$onhg1qykg zLOwttAE=NQDddAtF53-@`&bhiOyK(y_z(ggO5no?d^mw0K;Q=w_z1*XVt;VQkq0T{ z2P@=ih5QJV%X!K{{{4ANp615O1U{X>XSi`pXC{HqBJd*#e6|}$dyXRT zqX~SD8&8OG9Yf%A3H(?B_qcJia~^?P1YSzuUIOi)=oVOD{fgeZU z^9eja;6XQze1-@-OyCg$UqIkd0*|?IZ0B(|j&>#pypq7H2z()dR}=X01ipyCPayCU z3H&4iU+lt9C@tdcWQhwu2>Cggz)vCYr38K|fuBa;rxW-Y1b!xg|AWBKBJi^b{2T&5 zm%z^>@bd|L8G&Cw;1?43MFf5^fnP%4mlF78ZXEm9@8UnwTz*i9Xbp(Drfv+U+8wmWLh#!RU>5K~7jKdO7z=WO7Qafsf%S^Vo z9y4KW%Z!6G>@^)b*=Eg#Y#~eH#x&`%MIV!GsF{vUY)5*|opE=1H(`3S9QMJUZU`o{ zJ`=XI{d}>GS;=hM{+w1}KD-c+7vrIZ0k$)qG#HnJQZ2n1?-#4k;{MD$rcK7U1=A^W zl()u?NEp_VV(SQ!zpm|J1O622eyLTt0b3P26Ats~PP z;>u|=Ufn?X!csfbNbU2z74yaAJM_L9CYuu7}(P-Y%$A#f0!&}P+}pKJ0%7Fg?+DOSRv zLq&nZm>IMD(8$83IA;Nk1ahb;H@7!$&_FYWsc-`zQ*=;Fp3f+`2g}jJQI4{xy&wT+ zD5|A)Y(c_;TzSQ!-o1EVspCE?5()Uh9pL#5Gq2JUf!hkqfPX>02`6NjV_=3zr%+(# zMeSIm(3HKkAV0U%4^<`(?Ziaug2IB|!}`1LZ_4+6%vYWlm;uG$M@vk8v_vumk8yyp z(qV`rC??xoVnqqgDl{ignK9--lidwxV-hfmu>k{0So2(fxIf0~mT?99ebrd8X%p_x zy-h4^R>6~RyiJwzw4rtQ%S_AkRfnvg-@C0(kD{d{}lo^&}pg6U6pq|eSWIf5S63s~q^ zn41e{7{ZD8fw==sv&b|Dndac!{Y`U-X%02bVY$Oi^8gSGG>eLIiw2oRgUzD-%_70T zqnM9#Tx5yLeDbPbBN+OqWwPA!Wp(jgtJhlydV84Pm(1C{Vf)O-D25| z;h>-&d?AZI3(c9#Awd6*1YihY#fwx_$5>l417Wf2EAuah5C&paW@uQ%8axHVcpU9n z;;;wKZY6@DzsI7rXwNYYdl)|$GkU{OMhHBj%*O!X+Q2cP1H=jjzX)Cl{tJf!)eu!f zT*abG4EV>-m@4>VS**kSob86UZ>)%z9f#*leP#rXT}m>=9+WA<5SgktfF%POh^*L7 zktw&~j3+Q3Jf_0qLc0CeGgmlKBXeGl`5ximbGypNcHGF)8OD>CkJph;1C%dau8z_f z##5N@1V_HxRX#BdG{u2F$sU|L#PsJn(r16dc~K?C>*ydP$PVRPGC3pZiD14OnwUlorc85WEe z8c*Z>2RrVs8&A&E4C5J0Z@eSD+S`-t>nZJrb;f5g-P+B+)Ahp|JLy~u<2lTyFWO%+ zbu`ptFp_}7d?H$(Qj)Unz=C4%B|(g%p2z!_JIik^EC|Bb!p~fRa}#R>0V@_4vtk4w zp(q@C#z`_iUn!MyWyH*bJsBXfSOeosz>1dJ{Y^HwuwjFH)li?f zY2}uO!{8NR5+MxUjP^SHn-%p|*w8{@JmRM#rNvP4lA31+l0kdYy9i4lc7c@vIFA&C zG6QL))i9_|umUj2gE%$-ILrA3%y*fCC&yG9*kYlybCL}wzbs#M0W{8da@0sN5%c@( zTxlnt9m{%=lX2FA`|B~; zws2A}8ept;_4smw)ML_whN?%IVBsrh-(;-Ev2bKt`cyF;g_Q{2K}6`r+ivpsuAH<& z1X9X+Ia_rsaI8AQ`D9H0C`UVyhi+wi#MLrr(=66w-VFYLY%Bb6(}q|PCRqbb$YRit zA-vUl;b8?>UCZmq)Y%E)SWiAzXIZ?4`HjTuD7MxJYXHeEQ3h_MfIAN}xyN5<9tjHs zFcskjNIxSva<~!bw{WVP^$zAjq&WAi8S0PMSaMw_^`swP6k+~f zR4L?JSZ*v4gr~IN*$K9u z0j0ChUfyiQf=0T@4+hofddI?QaW3m}VqRS|5N1oT;NxXeB(^#XVUQK@CIYPLaIVCH zb)Q|DD2L_c@)0aHVxAg~;pQ?4@KFjkCOMRTOg2A8$eYNAGcJMf&90Q4GPZH!yN4=<}Zi!V79an3j4uSv2uXyCVO2t!e(}29ktMS8`C-4kq%mdH^S

L>8`$cS`4iJp<$%ooB%t3~x@x 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 z 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

Nh3qzn#qDU9Ym4O_O1v6NTH#$C+(SJ*&$4K#kJz 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

TqR{-}sed%&ImlGyumF%T0$ZT4I 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
}R-6j81cmHGVm+(o?>~~Z5^s7gvul>$Oqq}o` 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�j9aExYzsz&D)odd3v{T*q^Imfe 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
v2DEadP;6DQX6W~7s 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�sy2qbSCEL)wM6z7N!gP2ExuisXKBdAhz|-GPr%d$%`S=i}hrhy+w^CLoCC*2Isze4G!P!;IytP1}$pR>N)(l zd}@}XNtlZJDm}d9%AlX-)0FG3@bdBWk-KQk=jP+%;@IEAQy!#RtQJ>zDxCe5KE6Im zxxa^xx1*oCkJ6vt3@uM*eH{6%B8%7ZeEht89KC&%UYbzq_NFXakGm-3&c9l(lnZ(B-x(0!A4&bQdXJ`F zSIF4?Gk0E)O~#Mojf>F7$)V)Beq>-tP1LNOV`a7fKdm zQk?FYkmcI8q9oEfsXF{0qQF_shq#!qrSvIf;w@%>sdd|uY3K7D_y&Mz3W;( z&7X2TNPS%^Wd%~#Pv`p9FXH;wLAdK&yqH>!?t1cD{j-;Hol6r+ou9v|!_AS(b*^*q z#cAa?W&8N+U3%rFT<_B3sn@$w3f0*!sn?q{*S(08x?U;Qz4XfUOS$g#>vDCjf2Am? zU!yBOttbl>;H@EVSHga9(P@g52Y?A<+_+Al*;w%gXX#zKfBg`Nm)Bz z&j3HwRaYN>pA^K`Vwuc4z)Kx-R`~g;F6KIFE_bW1O!EDX5gC7|w@v!_|IL6je$(Ce z;`5QQ`)Bd_kj8K78pXG>()SX%<4ej1mjONx{9o4k!M9S{&p%SLG<^P%dwfI9Qq-&V zFFyY$wLRsYIAx((DedP$aa@B{E6VxWOdS!*3-5F78})fu@pqbNmZi=MKie;!3uU5_ zgno%{Pt#pK3={v=e5CvSC2(`qolJhpD%e4^_j#eM3|Ad_9{r z|7bppHDi(dCS_8duUFJiR&*4pecJ6R*XRcyREKo?nc#y$?J3`3Ftn$}OH;R>pY0dN zhY49j`kxGVyd=&|&5!8zgZo?~tIVt>mp9X1^v?rqh-coL?nM&My&v6kC!S3ox))rC zTffzl^U`z3#WESPP9pc?JA9c?-5pSd&-IEcolP%qgD#}< zU8!^s%z*XkAAVkJx*zYvA54Se%z<2={k|j*wbmvS;lecw(A!b-qMX;SFx|5yo_7(t zM_s9O5X^wbnPKeTs8{0iA$Huz?R4F7qwsk+KLF&`k9r;+Jw0{%`PqJZ+{llUoX9w2 z?j(ABH?75OU#J^>ToXr5>mE7M%L~cDl~?IA{rHX`UV|@m@83G)#Mi6T>lxfmG|{a3 z&*vfB7X88c6f%LSKADP2t@wPTyW`AZBvW3v{U(&043H1)@y*|Eccgsi)|gDP?A&K1 zW&+oBiO&aHzog!2>LqEnH)@uK?TxxP^^f|9 zPB}<_e!o+C>zAbCg&)^)J59>RKb#Mn=8ZLNfWUEMqLGAtiElro{zaWrb@J6enN^>s ztN+dZx%MAFUW^;0Vg1l-q=;YQ>yy+UsneTUpQL<9`B2pd_})&be(2VZbl3iJqgugn zt%-Uw1b@W0r&2!DNtN1DE(3fX_`j_8d8;e2I*r32AEtXoWc?y0(>+tN zem1A+9{*g5;E{Ass#o0p=6_51;4{JfmGbd-^C6A@)EP`2?@0NO@j3%gww|>=H&5;?z8D$6e&-(knSaruMI?Jr+<#@OFWCrbkB+00hE}N?ims< z){yRnlI7ZFp?l){Y3Vpq*EgwO;xfSJf&cseaa|&-EQ*|;`5vOT6G`MbdZCl(o{XHI zC7qyq{Bv)8N6@`cvVKl6bWdHE|BWB@34U9&uXm}Lbic!&|Gd(yktX}1oL`X#=8q`Q78`8#*(u9Oee&Q^a<-TYszA8hT%KXAP~{3TPpFcmsPbmHQV7q)!x z3;BcXY5bXVk&krOegsa%SWV58s>vPe~cyPg+@c^<0N15xlH&nx@TO4J7PjV z)6cuYiDxY1Zr0|HGyT8DRXGxomF~F{FD5(PvmjnnHo9j{)-UlZeLKXrJL#@onY*Ro zeO4JDAMv(nc${TYohhpaK*pqE=huA0O7-BYrd+);CGXqdkH={8d2ift`f(Ocj@zUm zbkCF=w`NP|UL^T`e8OP5XG_kjEDq4U2y)&RH&lkJW9i|!ed6Ku-~DMM@hrb08F z0qUQ0-;HWdYCYdc%Euqf2iNXol|_?w!u%QiI85g6GucA-Ov%^vO+M1SKyn{P_)fZ) zK+22$M)!W%DEtFZYIk&#oB{HYSVI~YN$s%0)l=@TNcp@&>X-hRd~p3zHdze0zcA@7 zz1X{8 z?M_H3sbA90hg3gw>xYyNDIYQyY22deJh}dl`W&L@ic)*}$J$f=x@I^ze-HmcAODz< z>jCcD=w2WxFXS`bGbZIZY^8e+q&%}^x))2zGulh{_{Z;>8PGpJh$7|5_R!0d#&Md% zIpvp>kCaqswR5U}lI!HG&wWcr-}etGnx>z-aL=v#59cGg%)gosw)-R0gH3e>)V@DL z&C>9GGxta7;{J$qlMkC6Qa-fDE9SSQd}!w*@|ctl?R*$sk@BIPkHG!uA|L7QJ{Wbk zrT&rbS5@`rs{2*BZ2W8aNH_g0V;<7S{i^Df{lnuiDIcl?Yh90*^6?MkgTGHDp4?Yv zK9PRCB!S#lmJmz#e97m0fph3y68T=F(IUF%K+eB=kD}kFranghjUVyXO{8{My`RW# zRXx5$%7<<~(%m>Nv2q$-H{sfyEV2Z0oz`R@{rER0?Niifx@SV#r--9;FP?8kX41WX zqb(7$O!4hbx~o?X`O>gnWq^E`W>3R>aK~A8nQwlsR>c&ie{Nz{nDZj*(>e=KD6a>?rbAnm&Ld$q_{AyiJXYP83V3$&SfZlUYoyw9yC^>gaTTTRs^YK9{G zY`=J4j7Ef8mpja&FBfg+ zpXM2;UfG;UgL;*L@?rQ=%7^y#4f79DKD6_ZT%?(%by1%Z{>^sSP-aw=YpINH(c8Ir z(q5aEr?;E@`)gya)5{Ai$Sv2sGQGSAvVNg=>E*?e^5Uw}%j3TY8Fimto+&BMrXsz( z4Aky~XG?>6m4Wi%P&p0q!HsteWuatPl<zxxRFYY0|yl7HhU>$mS zCdIhp(da3?Jj24A7haEEUN9-o(4FqNll3#IMfWmLy>kC9^=I1snQ56cIL7EAp;6}wi z|Ni}PNg47GM-y35Ls`*Lq-gEyzuZT2fBdawcF?_OQeNa& zy5~fmvk|eD?%9y%fCRpxd&%T;NVDN|@8^-n-y<2IUkW^uhV?1~t=>wiSGt+cK>0|{k~$8Q+8qM}(>zi>wEJs^!cso8^C9)qs-_S; zCqrsKbf2&D59TA?JioyF0n_;2RJTJFm=fRLrki}YKbP{M-Co3Bl=7jS55t@3A|GO( z%Mg4}eaLD*A5aTRI}cQSFOPhm+1!YJo@GlO z4C5Tauko)J6G#?svYK9AEb&6t(!B`c1xC`nWa5RdqkD;EWSXDAC3Me>lqXwB_r$lu z>8@Udze~e<_51lqch_6YlbUF%%HR6_YX-_kvXS(CGVOjUTqfm1J0A{Z(;y%G=Vrm= zIdn<$>7QQ(lJ~jB1<*ZXa^_*SpYHjR=byxkp?h2}l74?@pmxVSS!##1k2BL^X>gon zp!yMODCI-DeuPv>gM9Fx6NMJ$+PK(;^l@-FIgf}dLie0VdC?8%o;msa$Dt(MGbzHY zpZVqV*X2{FOHNK zagSb}jFe|yfnHu(j}$Ucy$bA_2K6cf<-@p@ln?FxEWW>#5AA#;Hj?t8osY;~X^;>8 zdZ-0y_f2op+x;Zc?k7~ExBF(~`AIPk=;eiy=M$Nj(aTHXAA9+PUS0wzFQhKLJlkSi z&y?&+_bf}T!+ls9{YHe|Vpo#`HbTv*u9z26__r<-;s(moB_oeYo< zo7Pf3wEO4yK2kok^AXrV%7=D73>8v7wDV!^CFMgqAF<=5d}!yx_+T35gA9Ap>`w;h zzug1UFu(lg1Lh>d!4~xKpgS2~CbXe@aiqNPc685{c%d!n9)I2zZAbUgtfGi4C zee0V!`uYBXH?03Nck$4hgOtN@tvNK@&)t(+c*^qm2=P;v zufzG}^H8-6o%PV?Dfy6ldboLOmae-#Kk=0HNsVwDqQ73hjPvWK71UWjEl!3@GDH3! z{0{p+`R-GT1$pN~XY z(!GDHI%j}-Wpg|Y>(#%tAEf0<8IUp{WkAY+lmRINQU;_9NEwhaAZ0+xfRq6#1AjjQ zzki)0-90za#vu*fbDn|nVHotU<|EzQr^(;Kt-gZ!x9<=C{rZtH^TAzjR=sbGe9zMT zEd6_ykz@}f&7gZS@*GCfOLWhMJclvHpYHwrmh#V*Ak{0~{7U(d@}Zjn-6^Sl=;nj} zUW!c#jynvYf36l@lJg=b&^@EloaY-#_o9n)p0OX@OC;-OGMer=l;X-Wn@acM$oeJE z5%9?KhD-<0J*i%CdFOvi`QS6b{gv_|Hj9kn*9M0o^I7e(2_d8@FVW#gK7< zQ82xKHYMYN_(^mxf{Y6iXVbkXGA=OopnC~qd}HcQ_l(H6%4`hX)6K%)pW?o^o=0Z# zmRl}=(Ib@qV(}^N{Mdoq$5nSKcOo8Dj$5|ver~?-^4xU9X>QtrOov|PrsIg8c!Zla zugLkvH@N8-;+tOJruqB4qBn5UCY&yNHkMnyIXQn1^yAjgi7$UQDX%OygY7nMI*BZg z6eIm%%z*xL4dNoWeDbpw4CMAl5;-11!?<`TsrP|F+%#Xm`T3;386yKyzofe#rF=;F z(9MAElvF>YeCTFCcZwg^%E-9ZJV3X<)wN|Zb24tU7)$q}$oSWGI^7G-$}J&o9{qC> z!`z%_vY77Kkk4&mrqVtA?fSdZ(s8DnK`9?nK6EpnJ0;Z*DIdBS(4FG@r4Z7OSWKh$ zBktto@VU=$~6i z1G-aE{gCpZn*rS^seb6@gX^cW$V^DTYBQMLzqylsHGDkXOCbHe(+s-DU-vas(mma^ zPJdHUz0%z$Qa+@7=w?87Dg)FHhaB8P=cN0+Rl7E`fk8-qDIeO;PcpQV@}Zp%hw#Rl zHb6RF$ng>(b(9TCHRe!+h}PJt1Ydaf!`B`uRsJ@!S{FJ^p!E zH^z_;vbf@Z`fZ$~6mA0g$Xd}!w*x>_3MgX@>F%FN04%wu=a+uso4neC-}5u~3p+d}u^i5I?| z?!^$#Vk_N4=QDqrXMlD%v2GgHEAja-(!46iNcDUMZp34v*=1Q}95=`;%cSP&=QyYX zSyV@adWgicTrzXbbSCn7oPj2uN#^Gs;OgqBNO{mDw_cfKE(%vqxxYd)kGecVnX&qh z`u-sPQ4xIc8eTwUsDIS(u*nKXnaor(&H9VKE@4QX2N4}Zug8hxIEy?;_Z&!hX2<9r z{~Qb3<8+U8d;Tr&KU}X&Gcny~C9Yomhx74Aj;-_x`Q^hIP6B;daM(;~%J3|KWVN zJ4^Y{Zg;{5O8L;vhcs?cHHup2OR;`Z{m{-w@-QhM+W9aY_XqO9U$+V*=f4(z(Z>(* zWZdF=k?tiCFZdGOGa<{3Jw*5T=S9XJrhBa8jI{Rt!~L|w)IU(K{=@kQnJwi*yWO#= zBjrOoAAybkKt58=AJrE|RX@X~sjtZ59}{wY)?pC$eFSI{?^GDQyg*VwlM!?eE+?G? z{=@A~bg@5Bul~dNNG$sY^1&Zxreu5)dWt@t2qa$eS-NLKyu>qfkAKc}_yM|?P7Wuy z8vo&X71`h;M;UBig>=a=w1l%46oC@aI(FIadeM=-+@ys-TM!>JEoyb_sRa> ze2yD~OLe8@?k^5CLWgy8PUG(p(F;d;{qy9id+8HQCB&^+P5z(W(XbpZ{<5Bj)ec4{{vw^(QmA?@oO* zaz~zpCfVBUhV~Jeh4|V`J%dpD!Ta2JfO=n^c^r2Ls8^An?WgvGy?)S-7rk`I(s6sL zURBthO8MZbiaJT$eVZn#e+mDHAD^b%{#L3Vs@=_gU$2R9G2J=X5Wcd|vN2 zDdki|cfn-J*O2>%?LqqI|IwK_FJTur;r zTbbx+ZaRugTYMtZ*|>PpCT==`Oh>-qrjxUBafe6}&&y56e&?ob$ouMSBe-evDqP$& z6L+$lOs11^a?^&@xOjL0ZrXv2BO|_W>mNs^O`dSm{5UTDH8-8IUsiC-GbSg>V<&U_ z-IP3k(!C((o0)LSGh4$=^Uo;@S;|fG&lj}`;mS)S^(bU6H=XjnX0Dk3%x|e3*4!C6Mu1^ee7E)wNQmf=R!g^pNhEk#V8Ld%DMu z6O0n+Ug{d8&wokvN_W3V`H=FVn*rS^seb6@gKLMg$)d@5mahT%kWyDmnF_7S{WH#x z?j;b8SDXD(w=7S%{1(WOJfkyQ4PbBd|^3%OI;w2QMdk$oLmi&!AK8q(_ zaAtaW{B?etJakVt3x9t~s#m%>l=30vLpKAuQ&Rnq@}Zjn-6^Sl=;njJ?rlc;RfoLv z{>_1S?)m6mG`Wr*`I6rM@}HL{JfM5JYn}e4q()VPaWIZ!{E8dn6WXY^8d`#TQy@*Cpl z5}=g(d-!{AxA%d7sX(8T;by3?5}Wflsh}C z_KkCpqteSyAsgiA=j@|YI64RT`?$KwWO7drH*ZI|Y86yltlr(u>RsyLqWbOOtjf+1 zg}RogicuBkuUanWs}{oGsy9VG*iBV0}#y;lG%{OSL|#%xD+Q`5gbn9GbAW?RE6?b>?Pc-)=IG-gc*yq~<@ZTuSukJn*4k z=Yfx^=KCohT#RtINP+!NwwqhJe&tZ7hMS*X%Fl*C`6=~_q?webu57=kV6Fk4p4=`^ zsg|VXGVPz#^<^(#Rns-A=3U=Rb!e%YI6u{Kq26vcH>JW&^+a~Z{&GLn;iNkL)rW_E z{Z<{XTsxxP@0=;;w?PwAbImdCGDOu%r?!Y{&gHJ9YPkXas%Ff?+l?zfwVake&8wbI zMLqnyLw+1`7Koqp`SvjZl+TLobRIWROn#Mc5utLr!3$8m&;etUoPJsEZ^Rd zwtP#<@-2V4d=>rW@-4ygEvd`5rYzt3m&;etUoPJoEZ_Q9%NNrwlbYf_NXc{@XxehE zdH8y()tKraStK>My=5^KA|lMJw z&(P1Qn^~=S)yI=|9(AKAkNOtL7o{NFA84&iYQ88Xsk2JStKO;!>-AGQjyle*uXcZ>qiA-V+Dl#DPyN?VGpK#N{!GW= z;=29X|Ju9vAjzuw4&e9B&OTs)m0--8hiHk>L@ZcYT!>OY&_aS0Q8ccFW_DTjL0EPc zW?2TY5{(*TCFL`T8Z1qTl^8XZ^+9O~Mu^X-WqhSbMUBWq43db!phin_Za-%3oxZo{ zoXVyubNaJ?VE4Vhd-|NuIofaOKG>+~ z?;qdqCGU$P$M?PK?~jd=mVS@CUydA5^=rxdXQQUSe|*1}yq}I7-|u(*eYH{2((jS? z*^vXPel2<5ZPfJlkMH-A_u=O8z4znGE)SpO`pIfn_)OJ{O#L^e{+Rmvhj0E%O8Vnk zZ0D+dJN9l5AA@#X8a`evt*y7$OL7YZ{XK)X!@=uN$K%#YYwfi^ZmqWJXsv$9cn{89 zIWv6pX5GlRYo)dJ+8@7GTRr}s@Ue5|ity3@(gWd>Yxn>;H?ylcLD9CoI_c1|{Xj?k zfsXoJmxP4T($21ZVSB&-)vI#&RJ=D#*q+(TXZO$Uy{1|bn`h3h`ds}RTX$+?-R7C+ z^jllDy|}u~Gv`FM7gx7==G@5kmelpnW{d;u`*qbV0*H_rmx<$b8b*C;s zkFQ$<9A9_p0`#!1ch+Of5?rosD7akRP;j}rq2O|LL&4?hhJwr04F#908w&R8x}U#| z7yF3kaZ-K2OsWs4N%a9YsXibl)d%dP`hebE-}Sr>FQ7{f7|v^T_H*?0BCO)1`q2qk zuKlGGFus0t0>;;mPQdv3(Fqt|KRN-!`Z2E`4bkQ5m(IX)^-E`9x%#C~f#vF#&cJf@ zOJ`uY`lU0lT>a7+2%pmizTt%b+|GS-SIx~Fm^~2Aux~nfzIwe0`@>21*@Ls;Tw+T> z+wlu&c5cu}S350*ZS4&|CDod1?^jDJ_vdUt{Pu z65%y0Y-?|kVOZ5Mk1d65?bR3-8m#I@)dV>34rL?x+ z>fS$~t>10#!-d$|{+I*W+HYkX*Z(mG^yy|V4%agdhEHR2`>TtZi^VGmrhmP-y3#zDhrO5X3ddg_PKfocBrjY(u98eu(zSp8rjvUu zbnWk-#~yS1>En;Dp3lQRjO#~LSM{Z(TZ71FezsSk)}{>w2fW z#_X>yy|nkDe|+uIOh+sIy3safHa%(6rjs`f`q8p~^y?$NUU#+^re*In!*TUrTl>>| z$*&F~KF{Gzu~AUXOK;Q6#n)6{?-{-nw`~t+VyiC)^?FwA?`pT+RAk*k z(?X9c+SBt8resi53*i)Uz4DVLeS9z*mbFZC8?X@$qf8iNdT(y5k zcp(qx8mlJ4h!^fx7gNIh-P`x~ud58t6ZcdGb-fEN%^g>6zj|i-CDr;0U!w|d*1e0X z;h5??`Q>3t?n zvtHlQ*Rl02eI8ri()W@2#l9~lslhik8vP#DEnZj|ax}*`tXsTrG`?=}f=7E@-Rtb| zwCsOLWTAFsJoWmPzK*SL>GRn7mcEbFhYN?*wUhAqv++Hch4mdSbdB8~F5r#bA1*kJ z-M@I@a-j>2d0o8F*1mu70%H6A#S32T`_Dcw+wu?X{f7Vn0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7csffXQdRB=`@9r{@oYm0{# z8;iZ$FRuPvZgK1*&n)^sS$$Tqd3~|@!Bzdil;!Z7!%GLZap{J}{oEd>`W@^ts6Dvk z-w};bFW%XDu=#hmhl<1hU95DA009C72oT6cV7}ZDV%AhKHD8``>j$q2H-4q~)_i%~ z&TZSm5VsZ&n=e0m<3~PuM6vqrsncr3H*P$B?}lRaZWvZ#!M009C7{@)99oi8}5qvzW@&KFeYYWyQWfB*pk1o9L} z%?p>y3wbUCqar|n009DH1XA)=K{gX0K!5-N0xMdeD=&2Y|0&;eTl?=v z`TtX{=w+bu1PBlyKwzvu_|d0ry`PGj?)?DNwyn2?8-GyTF<;(z-Q#YbE>^ED|1{KG z(yLil{mfMT_PcL-`!|m)rhio4IA1>bil=?-XNxtbP93?l&072Qb{dactLfN&;StZ8 zTU|^&s<^Y+herQn+V85VZ?E63_oue~+F$+L%|)^5i^Y%T%b45mf9UpY;YYGgD1LLk z?7CfV=c|`}^yA@YyUr}bT-3+d*uH1$z0<|2qsm?L<#&GVy?=j1vF2e@XEf{U+poRr zrZ0t>Bc>kStoiX7nz@eTL9@{D5L!>7I$#&zA-cWfxuTrhRQeEH@3 z@3~=ZF?E0WwE6O)Pu;q2Lot0y`Lg-)vd?_?18a-vcaY`=GUiwt66jYzwNvtwDad|A!KefR&-s$$(6R~^%=sT($K*XDG`wmpZ|7Uem` z&DF7|U9h2;T2-D^-7a3b;elf6vE|9totG3v_`$R42h-{|PrL8gc%J^{4NJZ+`oK99c}=Q9fqAjJe$;iFnHXAGiPIe}8WEl5k)7 z%VBv&+z$P(&r5B3>r z&Q)iJ7oMkF^USmE{QhemC?2+Z`uec{qTPqy_wKv@_Kf0ZzA}Aoc!Rv`g>QS(>@BBU zTO7A%`dQ({?9{j3_TiiU^L1wwM{iuUd&!GQQU3PYqPVzvv$*i2^Phdv`L|zP6i41Q zRo(xux4h%_)6cuPERKBD)CHkmy}PgYa#^f@^VHLOQ~LXB&JHhQ_Y`01-77bRrVbR( z3ojf;uP(!$^)pi!gqN`DU+VdScQ{|rhx1009C7QuD%B5y5FkK+K=R*r{6%@esv$st009CMCy;u6;c@c9#H|qn zCP07y0RpLcVY9qo(GVa&fB=Ds6G+VqXUPi_w?+(@009C72&CqPXUGc{4FLiK2oRV! zfz-UPRbH65HDbU72oNAZAT=*sA}?4p1PBlyKw#noQuD%od12z#hyfEIK!5;&)V%Ow zdBLI~K!5-N0uv{Yniu|1UYNKwV!#9l5FkJxH81>$ykOA~AV7csfr%4H%?p1aFHGDT zF<=4&2oNBUnit+9FIY4L2oNAZVB!Q)^TLPZg^61u226ke0RjY4^TNmF1&f9N0RjXF zOq@V!UigB%FmY?dfC&&FK!8AMUig~4V9^jDK!5;&i4#c83*VL(CT@)wFaZJt2oOlk z3*VO)EE)m?2oNAJaRRA%p}2iZ!>AnGn{I4%hX4Tr1PBnwNgy>Z93?O0H2uaxfB*pk z1fm2|^TI}XA<9(|0RjXF5Xea&H7}eXFXS}+#zKGq0RjY~1XAm5Fn6~Kx$t2fV_~?^cxES0t5&Uh!RN63pdLPQLc&z5FkK+Ku!Xw zdEs;NLQd0fECdJ;AV45WAT=-iv%C=Hs)zsq0t5);B#@dH?vxjDnto#;K!5-N0#O2~ zdEq{JA<9(|0RjXF5Xea&H81=`UdULx2DQ z0t5);B#@dH9x5;7H2uaxfB*pk1fm2|^TH$Lg(z1=1PBlyKp-c9)Vy$_ypYrM8w&vf z1PBm_5=hMpr^yRZu8If{AV7dXP6DZU;i>XMPSbBJ1PBlyKp;vWH7{HsFGRU2B0zuu z0RlM*q~?Ve$O}15zp)S?K!5;&D1p?xut#2qa#cit009C7auP_*3kT$doTlGc2oNAZ zfIyT$YF>DWyb$H8hyVcs1PJ6LkeV0%SYF6!`i+GE0RjXFLk{6;}6%imnfB=D<1iJFV(H(=lsUt6}>!`Px z009C72oPBL0$q7weaF!LL0;&Pv6%n?0t5);E0CHOz9KK=yBLg&009C72y_T^<%Od< z>c7#E7p6PvZ6-i~009C7R=z-LUigl@u<|F}2nY}$K!8A^Kx$t2fxM6?tegM=0t5)G ze1X)wuvyb!~x zh5!Kq1PEj$keU}BD=%a<{{};V009C7Vgyq2!YT4X467Of1PBlykd;7cUN}=;$ZGx# zh5!Kq1PH_kq~?Y5<%JklH3SF{AV451fz-V4Jb59j`8OB>1PBly5F?P97k0=CF|29` z5FkK+Kvn{&d0|#w$ZGx#h5!Kq1PH_kq~?Wd<%JklH3SF{AV451fz-V4N_iox`8OB> z1PBly5F?P97v3N*#IUL%K!5-N0$B;9=7qP(3t7#-!4M!ofB=CQfz-V4Zh0YwRSf|G z1PBnwN+2~ad{ADR3o)!}2oNAZfIwCPsd?ca<%O)~-(Uz3 zAV7dXj6iB$_^P}R!>Wb=0RjXFWF?TA7w(o9vYLN`AwYlt0Rk}ssd?dkc_D^X4FLiK z2oT6hAT=*MC@*9+{{};V009C7Vgyq2!uq?mG@303_of?L-624L009C7auP_*3qL0> zCAV44|fz-TklDv@9^cxES0t5&Uh!RN63s068 zqFfabAV7csft&?ypYrM z8w&vf1PBm_5=hMp@0S;%Ton-@K!5;&oCH$y!bjzWoTlGc2oNAZfIyT$YF_xPyb$H8 zhyVcs1PJ6LkeU~6l^1fFeq$j(fB*pkQ39!X;SPBr%2g2o0t5&U$VnhIFML;C$Z7hG zg#ZBp1PDY4q~?Vm%L`GiiU<%OK!89_0;zdn?YFixhF=cuO*gi>Lx2DQ0t5);B#@dH zj*}O1nto#;K!5-N0#O2~dEt0@A<9(|0RjXF5Xea&H7`6~UdUc}2oN9;C6JmIcFPMdi^0eU5FkK+K!-qTUbt0W=#aFT009C72;?h}niuYr7xG;UMn-@D z0RjX%1XApYF=1>_m)OW<=~#* zk7%&CLx2DQ0tB)WNX-iy<%O)~-(Uz3AV7dXj6iB$c#OOd!>Wb=0RjXFWF?TA7oI3D zWHtW=Lx2DQ0t8|NQuD%@@@hT7hWMRbV%AvfB*pk1o9O~%?q!U7xG;UMn-@D0RjX%1XApS6+BXNBw){g$@~;2@oJafIz+i zsd?cRc_H7$U}OXc5FkLHLm)LTd{JKLkhGZq0RjXFqU1O^|1PBlyK!89_0;zf7Sa~6*={FVv z1PBly5GBx+7rK7W`cd*il&c~F1PBlykdr`HUO2jAkSEFu9Wpi(AV7csfqVtJ@4a}5gPYDnpK!Ctu5=hMpUy>INle}gK z5FkK+z{(Lw%?sa<7go;X>L~#N1PBl~OaiHS;a+*+Fv)9%009C72&^1|)V%N`d12*D zuAUMgK!5;&!z7TJ7uKBS{~vjn=ru!t009C7R*XPuUN}x(STS>}qXY;LAVA=738dzQ UN6HI_i(Wef2oNAZV8sah58OKL)c^nh From effdad969553cc1fda6774bfcc6db1b41e05abf9 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 6 Feb 2024 02:06:42 +0100 Subject: [PATCH 19/24] pylint --- .../python/experimental/mcmc/particle_filter_test.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index c0bdabf415..63f139a63e 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -744,14 +744,13 @@ def rejuvenation_criterion(step, state): num_outer_particles = 3 num_inner_particles = 5 - loc = tf.broadcast_to([0., 0.], [num_outer_particles, 2]) - scale_diag = tf.broadcast_to([0.01, 0.01], [num_outer_particles, 2]) - params, _ = self.evaluate(particle_filter.smc_squared( observations=observations, - inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( + inner_initial_state_prior=lambda _, params: + mvn_diag.MultivariateNormalDiag( loc=tf.broadcast_to([0., 0.], params.shape + [2]), - scale_diag=tf.broadcast_to([0.01, 0.01], params.shape + [2])), + scale_diag=tf.broadcast_to([0.01, 0.01], params.shape + [2]) + ), initial_parameter_prior=normal.Normal(5., 0.5), num_outer_particles=num_outer_particles, num_inner_particles=num_inner_particles, From b674fb1428d675bf834d061ab60d275b01a7de88 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 6 Feb 2024 02:10:53 +0100 Subject: [PATCH 20/24] pylint --- .../python/experimental/mcmc/particle_filter_test.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 63f139a63e..920c9705d3 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -725,7 +725,9 @@ def particle_dynamics(params, _, previous_state): broadcasted_params = tf.broadcast_to(reshaped_params, previous_state.shape) reshaped_dist = independent.Independent( - normal.Normal(previous_state + params[..., tf.newaxis, tf.newaxis] + 1, 0.1), + normal.Normal( + previous_state + params[..., tf.newaxis, tf.newaxis] + 1, 0.1 + ), reinterpreted_batch_ndims=1 ) return reshaped_dist From 16adf152a773761c3bf22077d568871dbe2070b0 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 6 Feb 2024 17:00:25 +0100 Subject: [PATCH 21/24] added log_weights test --- .../experimental/mcmc/particle_filter_test.py | 781 +----------------- 1 file changed, 6 insertions(+), 775 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 920c9705d3..7ce4f33c29 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -41,143 +41,6 @@ @test_util.test_all_tf_execution_regimes class _ParticleFilterTest(test_util.TestCase): - def test_random_walk(self): - initial_state_prior = jdn.JointDistributionNamed( - {'position': deterministic.Deterministic(0.)}) - - # Biased random walk. - def particle_dynamics(_, previous_state): - state_shape = ps.shape(previous_state['position']) - return jdn.JointDistributionNamed({ - 'position': - transformed_distribution.TransformedDistribution( - bernoulli.Bernoulli( - probs=tf.fill(state_shape, 0.75), dtype=self.dtype), - shift.Shift(previous_state['position'])) - }) - - # Completely uninformative observations allowing a test - # of the pure dynamics. - def particle_observations(_, state): - state_shape = ps.shape(state['position']) - return uniform.Uniform( - low=tf.fill(state_shape, -100.), high=tf.fill(state_shape, 100.)) - - observations = tf.zeros((9,), dtype=self.dtype) - trajectories, _ = self.evaluate( - particle_filter.infer_trajectories( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=particle_dynamics, - observation_fn=particle_observations, - num_particles=16384, - seed=test_util.test_seed())) - position = trajectories['position'] - - # The trajectories have the following properties: - # 1. they lie completely in the range [0, 8] - self.assertAllInRange(position, 0., 8.) - # 2. each step lies in the range [0, 1] - self.assertAllInRange(position[1:] - position[:-1], 0., 1.) - # 3. the expectation and variance of the final positions are 6 and 1.5. - self.assertAllClose(tf.reduce_mean(position[-1]), 6., atol=0.1) - self.assertAllClose(tf.math.reduce_variance(position[-1]), 1.5, atol=0.1) - - def test_batch_of_filters(self): - - batch_shape = [3, 2] - num_particles = 1000 - num_timesteps = 40 - - # Batch of priors on object 1D positions and velocities. - initial_state_prior = jdn.JointDistributionNamed({ - 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), - 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) - }) - - def transition_fn(_, previous_state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=previous_state['position'] + previous_state['velocity'], - scale=0.1), - 'velocity': - normal.Normal(loc=previous_state['velocity'], scale=0.01) - }) - - def observation_fn(_, state): - return normal.Normal(loc=state['position'], scale=0.1) - - # Batch of synthetic observations, . - true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - true_velocities = 0.1 * np.random.randn( - *batch_shape).astype(self.dtype) - observed_positions = ( - true_velocities * - np.arange(num_timesteps).astype( - self.dtype)[..., tf.newaxis, tf.newaxis] + - true_initial_positions) - - (particles, log_weights, parent_indices, - incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed())) - - self.assertAllEqual(particles['position'].shape, - [num_timesteps, num_particles] + batch_shape) - self.assertAllEqual(particles['velocity'].shape, - [num_timesteps, num_particles] + batch_shape) - self.assertAllEqual(parent_indices.shape, - [num_timesteps, num_particles] + batch_shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - self.assertAllClose( - self.evaluate( - tf.reduce_sum(tf.exp(log_weights) * - particles['position'], axis=1)), - observed_positions, - atol=0.1) - - velocity_means = tf.reduce_sum(tf.exp(log_weights) * - particles['velocity'], axis=1) - self.assertAllClose( - self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - true_velocities, atol=0.05) - - # Uncertainty in velocity should decrease over time. - velocity_stddev = self.evaluate( - tf.math.reduce_std(particles['velocity'], axis=1)) - self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, parent_indices)) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['velocity'].shape) - - # Verify that `infer_trajectories` also works on batches. - trajectories, incremental_log_marginal_likelihoods = self.evaluate( - particle_filter.infer_trajectories( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed())) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, num_particles] + batch_shape, - trajectories['velocity'].shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - def test_batch_of_filters_particles_dim_1(self): batch_shape = [3, 2] @@ -205,6 +68,7 @@ def observation_fn(_, state): # Batch of synthetic observations true_initial_positions = np.random.randn() + true_velocities = 0.1 * np.random.randn() observed_positions = ( true_velocities * np.arange(num_timesteps).astype(self.dtype) + true_initial_positions) @@ -235,6 +99,11 @@ def observation_fn(_, state): batch_shape[0], num_particles, batch_shape[1]]) + self.assertAllEqual(log_weights.shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) @@ -282,644 +151,6 @@ def observation_fn(_, state): self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) - def test_reconstruct_trajectories_toy_example(self): - particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) - # 1 -- 4 -- 7 - # 2 \/ 5 .- 8 - # 3 /\ 6 /-- 9 - parent_indices = tf.convert_to_tensor([[0, 1, 2], [0, 2, 1], [0, 2, 2]]) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, parent_indices)) - self.assertAllEqual( - np.array([[1, 2, 2], [4, 6, 6], [7, 8, 9]]), trajectories) - - def test_epidemiological_model(self): - # A toy, discrete version of an SIR (Susceptible, Infected, Recovered) - # model (https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology) - - population_size = 1000 - infection_rate = tf.convert_to_tensor(1.1) - infectious_period = tf.convert_to_tensor(8.0) - - initial_state_prior = jdn.JointDistributionNamed({ - 'susceptible': deterministic.Deterministic(999.), - 'infected': deterministic.Deterministic(1.), - 'new_infections': deterministic.Deterministic(1.), - 'new_recoveries': deterministic.Deterministic(0.) - }) - - # Dynamics model: new infections and recoveries are given by the SIR - # model with Poisson noise. - def infection_dynamics(_, previous_state): - new_infections = poisson.Poisson( - infection_rate * previous_state['infected'] * - previous_state['susceptible'] / population_size) - new_recoveries = poisson.Poisson(previous_state['infected'] / - infectious_period) - - def susceptible(new_infections): - return deterministic.Deterministic( - ps.maximum(0., previous_state['susceptible'] - new_infections)) - - def infected(new_infections, new_recoveries): - return deterministic.Deterministic( - ps.maximum( - 0., - previous_state['infected'] + new_infections - new_recoveries)) - - return jdn.JointDistributionNamed({ - 'new_infections': new_infections, - 'new_recoveries': new_recoveries, - 'susceptible': susceptible, - 'infected': infected - }) - - # Observation model: each day we detect new cases, noisily. - def infection_observations(_, state): - return poisson.Poisson(state['infected']) - - # pylint: disable=bad-whitespace - observations = tf.convert_to_tensor([ - 0., 4., 1., 5., 23., 27., 75., 127., 248., 384., 540., 683., - 714., 611., 561., 493., 385., 348., 300., 277., 249., 219., 216., 174., - 132., 122., 115., 99., 76., 84., 77., 56., 42., 56., 46., 38., - 34., 44., 25., 27.]) - # pylint: enable=bad-whitespace - - trajectories, _ = self.evaluate( - particle_filter.infer_trajectories( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=infection_dynamics, - observation_fn=infection_observations, - num_particles=100, - seed=test_util.test_seed())) - - # The susceptible population should decrease over time. - self.assertAllLessEqual( - trajectories['susceptible'][1:, ...] - - trajectories['susceptible'][:-1, ...], - 0.0) - - def test_data_driven_proposal(self): - - num_particles = 100 - observations = tf.convert_to_tensor([60., -179.2, 1337.42]) - - # Define a system constrained primarily by observations, where proposing - # from the dynamics would be a bad fit. - initial_state_prior = normal.Normal(loc=0., scale=1e6) - transition_fn = ( - lambda _, previous_state: normal.Normal(loc=previous_state, scale=1e6)) - observation_fn = lambda _, state: normal.Normal(loc=state, scale=0.1) - initial_state_proposal = normal.Normal(loc=observations[0], scale=0.1) - proposal_fn = ( - lambda step, state: normal.Normal( # pylint: disable=g-long-lambda - loc=tf.ones_like(state) * observations[step + 1], - scale=1.0)) - - trajectories, _ = self.evaluate( - particle_filter.infer_trajectories( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - initial_state_proposal=initial_state_proposal, - proposal_fn=proposal_fn, - seed=test_util.test_seed())) - self.assertAllClose(trajectories, - tf.convert_to_tensor( - tf.convert_to_tensor( - observations)[..., tf.newaxis] * - tf.ones([num_particles])), atol=1.0) - - def test_estimated_prob_approximates_true_prob(self): - - # Draw simulated data from a 2D linear Gaussian system. - initial_state_prior = mvn_diag.MultivariateNormalDiag( - loc=0., scale_diag=(1., 1.)) - transition_matrix = tf.convert_to_tensor([[1., -0.5], [0.4, -1.]]) - transition_noise = mvn_tril.MultivariateNormalTriL( - loc=1., scale_tril=tf.convert_to_tensor([[0.3, 0], [-0.1, 0.2]])) - observation_matrix = tf.convert_to_tensor([[0.1, 1.], [1., 0.2]]) - observation_noise = mvn_tril.MultivariateNormalTriL( - loc=-0.3, scale_tril=tf.convert_to_tensor([[0.5, 0], [0.1, 0.5]])) - model = lgssm.LinearGaussianStateSpaceModel( - num_timesteps=20, - initial_state_prior=initial_state_prior, - transition_matrix=transition_matrix, - transition_noise=transition_noise, - observation_matrix=observation_matrix, - observation_noise=observation_noise) - observations = self.evaluate( - model.sample(seed=test_util.test_seed())) - (lps, filtered_means, - _, _, _, _, _) = self.evaluate(model.forward_filter(observations)) - - # Approximate the filtering means and marginal likelihood(s) using - # the particle filter. - # pylint: disable=g-long-lambda - (particles, log_weights, _, - estimated_incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observations, - initial_state_prior=initial_state_prior, - transition_fn=lambda _, previous_state: mvn_tril. - MultivariateNormalTriL( - loc=transition_noise.loc + tf.linalg.matvec( - transition_matrix, previous_state), - scale_tril=transition_noise.scale_tril), - observation_fn=lambda _, state: mvn_tril.MultivariateNormalTriL( - loc=observation_noise.loc + tf.linalg.matvec( - observation_matrix, state), - scale_tril=observation_noise.scale_tril), - num_particles=1024, - seed=test_util.test_seed())) - # pylint: enable=g-long-lambda - - particle_means = np.sum( - particles * np.exp(log_weights)[..., np.newaxis], axis=1) - self.assertAllClose(filtered_means, particle_means, atol=0.1, rtol=0.1) - - self.assertAllClose( - lps, estimated_incremental_log_marginal_likelihoods, atol=0.6) - - def test_proposal_weights_dont_affect_marginal_likelihood(self): - observation = np.array([-1.3, 0.7]).astype(self.dtype) - # This particle filter has proposals different from the dynamics, - # so internally it will use proposal weights in addition to observation - # weights. It should still get the observation likelihood correct. - _, lps = self.evaluate( - particle_filter.infer_trajectories( - observation, - initial_state_prior=normal.Normal(loc=0., scale=1.), - transition_fn=lambda _, x: normal.Normal(loc=x, scale=1.), - observation_fn=lambda _, x: normal.Normal(loc=x, scale=1.), - initial_state_proposal=normal.Normal(loc=0., scale=5.), - proposal_fn=lambda _, x: normal.Normal(loc=x, scale=5.), - num_particles=2048, - seed=test_util.test_seed())) - - # Compare marginal likelihood against that - # from the true (jointly normal) marginal distribution. - y1_marginal_dist = normal.Normal(loc=0., scale=np.sqrt(1. + 1.)) - y2_conditional_dist = ( - lambda y1: normal.Normal(loc=y1 / 2., scale=np.sqrt(5. / 2.))) - true_lps = tf.stack( - [y1_marginal_dist.log_prob(observation[0]), - y2_conditional_dist(observation[0]).log_prob(observation[1])], - axis=0) - # The following line passes at atol = 0.01 if num_particles = 32768. - self.assertAllClose(true_lps, lps, atol=0.2) - - def test_can_step_dynamics_faster_than_observations(self): - initial_state_prior = jdn.JointDistributionNamed({ - 'position': deterministic.Deterministic(1.), - 'velocity': deterministic.Deterministic(0.) - }) - - # Use 100 steps between observations to integrate a simple harmonic - # oscillator. - dt = 0.01 - def simple_harmonic_motion_transition_fn(_, state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=state['position'] + dt * state['velocity'], - scale=dt * 0.01), - 'velocity': - normal.Normal( - loc=state['velocity'] - dt * state['position'], - scale=dt * 0.01) - }) - - def observe_position(_, state): - return normal.Normal(loc=state['position'], scale=0.01) - - particles, _, _, lps = self.evaluate( - particle_filter.particle_filter( - # 'Observing' the values we'd expect from a proper integrator should - # give high likelihood if our discrete approximation is good. - observations=tf.convert_to_tensor( - [tf.math.cos(0.), tf.math.cos(1.)]), - initial_state_prior=initial_state_prior, - transition_fn=simple_harmonic_motion_transition_fn, - observation_fn=observe_position, - num_particles=1024, - num_transitions_per_observation=100, - seed=test_util.test_seed())) - - self.assertLen(particles['position'], 101) - self.assertAllClose(np.mean(particles['position'], axis=-1), - tf.math.cos(dt * np.arange(101)), - atol=0.04) - self.assertLen(lps, 101) - self.assertGreater(lps[0], 3.) - self.assertGreater(lps[-1], 3.) - - def test_custom_trace_fn(self): - - def trace_fn(state, _): - # Traces the mean and stddev of the particle population at each step. - weights = tf.exp(state.log_weights) - mean = tf.reduce_sum(weights * state.particles, axis=0) - variance = tf.reduce_sum( - weights * (state.particles - mean[tf.newaxis, ...])**2) - return {'mean': mean, - 'stddev': tf.sqrt(variance), - # In real usage we would likely not track the particles and - # weights. We keep them here just so we can double-check the - # stats, below. - 'particles': state.particles, - 'weights': weights} - - results = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 1.), - observation_fn=lambda _, state: normal.Normal(state, 1.), - num_particles=1024, - trace_fn=trace_fn, - seed=test_util.test_seed())) - - # Verify that posterior means are increasing. - self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) - - # Check that our traced means and scales match values computed - # by averaging over particles after the fact. - all_means = self.evaluate(tf.reduce_sum( - results['weights'] * results['particles'], axis=1)) - all_variances = self.evaluate( - tf.reduce_sum( - results['weights'] * - (results['particles'] - all_means[..., tf.newaxis])**2, - axis=1)) - self.assertAllClose(results['mean'], all_means) - self.assertAllClose(results['stddev'], np.sqrt(all_variances)) - - def test_step_indices_to_trace(self): - num_particles = 1024 - (particles_1_3, log_weights_1_3, parent_indices_1_3, - incremental_log_marginal_likelihood_1_3) = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 10.), - observation_fn=lambda _, state: normal.Normal(state, 0.1), - num_particles=num_particles, - trace_criterion_fn=lambda s, r: ps.logical_or( # pylint: disable=g-long-lambda - ps.equal(r.steps, 2), ps.equal(r.steps, 4)), - static_trace_allocation_size=2, - seed=test_util.test_seed())) - self.assertLen(particles_1_3, 2) - self.assertLen(log_weights_1_3, 2) - self.assertLen(parent_indices_1_3, 2) - self.assertLen(incremental_log_marginal_likelihood_1_3, 2) - means = np.sum(np.exp(log_weights_1_3) * particles_1_3, axis=1) - self.assertAllClose(means, [3., 7.], atol=1.) - - (final_particles, final_log_weights, final_cumulative_lp) = self.evaluate( - particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_state_prior=normal.Normal(0., 1.), - transition_fn=lambda _, state: normal.Normal(state, 10.), - observation_fn=lambda _, state: normal.Normal(state, 0.1), - num_particles=num_particles, - trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda - s.particles, - s.log_weights, - r.accumulated_log_marginal_likelihood), - trace_criterion_fn=None, - seed=test_util.test_seed())) - self.assertLen(final_particles, num_particles) - self.assertLen(final_log_weights, num_particles) - self.assertEqual(final_cumulative_lp.shape, ()) - means = np.sum(np.exp(final_log_weights) * final_particles) - self.assertAllClose(means, 9., atol=1.5) - - def test_warns_if_transition_distribution_has_unexpected_shape(self): - - initial_state_prior = jdab.JointDistributionNamedAutoBatched({ - 'sales': deterministic.Deterministic(0.), - 'inventory': deterministic.Deterministic(1000.) - }) - - # Inventory decreases by a Poisson RV 'sales', but is lower bounded at zero. - def valid_transition_fn(_, particles): - return jdab.JointDistributionNamedAutoBatched( - { - 'sales': - poisson.Poisson(10. * tf.ones_like(particles['inventory'])), - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - batch_ndims=1, - validate_args=True) - - def dummy_observation_fn(_, state): - return normal.Normal(state['inventory'], 1000.) - - run_filter = functools.partial( - particle_filter.particle_filter, - observations=tf.zeros([10]), - initial_state_prior=initial_state_prior, - observation_fn=dummy_observation_fn, - num_particles=3, - seed=test_util.test_seed(sampler_type='stateless')) - - # Check that the model runs as written. - self.evaluate(run_filter(transition_fn=valid_transition_fn)) - self.evaluate(run_filter(transition_fn=valid_transition_fn, - proposal_fn=valid_transition_fn)) - - # Check that broken transition functions raise exceptions. - def transition_fn_broadcasts_over_particles(_, particles): - return jdn.JointDistributionNamed( - { - 'sales': - poisson.Poisson(10. - ), # Proposes same value for all particles. - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - validate_args=True) - - def transition_fn_partial_batch_shape(_, particles): - return jdn.JointDistributionNamed( - # Using `Sample` ensures iid proposals for each particle, but not - # per-particle log probs. - { - 'sales': - sample_dist_lib.Sample( - poisson.Poisson(10.), ps.shape(particles['sales'])), - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - validate_args=True) - - def transition_fn_no_batch_shape(_, particles): - # Autobatched JD defaults to treating num_particles as event shape, but - # we need it to be batch shape to get per-particle logprobs. - return jdab.JointDistributionNamedAutoBatched( - { - 'sales': - poisson.Poisson(10. * tf.ones_like(particles['inventory'])), - 'inventory': - lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda - tf.maximum(0., particles['inventory'] - sales)) - }, - validate_args=True) - - with self.assertRaisesRegex(ValueError, 'transition distribution'): - self.evaluate( - run_filter(transition_fn=transition_fn_broadcasts_over_particles)) - with self.assertRaisesRegex(ValueError, 'transition distribution'): - self.evaluate( - run_filter(transition_fn=transition_fn_partial_batch_shape)) - with self.assertRaisesRegex(ValueError, 'transition distribution'): - self.evaluate( - run_filter(transition_fn=transition_fn_no_batch_shape)) - - with self.assertRaisesRegex(ValueError, 'proposal distribution'): - self.evaluate( - run_filter(transition_fn=valid_transition_fn, - proposal_fn=transition_fn_partial_batch_shape)) - with self.assertRaisesRegex(ValueError, 'proposal distribution'): - self.evaluate( - run_filter(transition_fn=valid_transition_fn, - proposal_fn=transition_fn_broadcasts_over_particles)) - - with self.assertRaisesRegex(ValueError, 'proposal distribution'): - self.evaluate( - run_filter(transition_fn=valid_transition_fn, - proposal_fn=transition_fn_no_batch_shape)) - - @test_util.jax_disable_test_missing_functionality('Gradient of while_loop.') - def test_marginal_likelihood_gradients_are_defined(self): - - def marginal_log_likelihood(level_scale, noise_scale): - _, _, _, lps = particle_filter.particle_filter( - observations=tf.convert_to_tensor([1., 2., 3., 4., 5.]), - initial_state_prior=normal.Normal(loc=0, scale=1.), - transition_fn=lambda _, x: normal.Normal(loc=x, scale=level_scale), - observation_fn=lambda _, x: normal.Normal(loc=x, scale=noise_scale), - num_particles=4, - seed=test_util.test_seed()) - return tf.reduce_sum(lps) - - _, grads = gradient.value_and_gradient(marginal_log_likelihood, 1.0, 1.0) - self.assertAllNotNone(grads) - self.assertAllAssertsNested(self.assertNotAllZero, grads) - - def test_smc_squared_rejuvenation_parameters(self): - def particle_dynamics(params, _, previous_state): - reshaped_params = tf.reshape(params, - [params.shape[0]] + - [1] * (previous_state.shape.rank - 1)) - broadcasted_params = tf.broadcast_to(reshaped_params, - previous_state.shape) - reshaped_dist = independent.Independent( - normal.Normal( - previous_state + params[..., tf.newaxis, tf.newaxis] + 1, 0.1 - ), - reinterpreted_batch_ndims=1 - ) - return reshaped_dist - - def rejuvenation_criterion(step, state): - # Rejuvenation every 2 steps - cond = tf.logical_and( - tf.equal(tf.math.mod(step, tf.constant(2)), tf.constant(0)), - tf.not_equal(state.extra[0], tf.constant(0)) - ) - return cond - - observations = tf.stack([tf.range(15, dtype=tf.float32), - tf.range(15, dtype=tf.float32)], axis=1) - - num_outer_particles = 3 - num_inner_particles = 5 - - params, _ = self.evaluate(particle_filter.smc_squared( - observations=observations, - inner_initial_state_prior=lambda _, params: - mvn_diag.MultivariateNormalDiag( - loc=tf.broadcast_to([0., 0.], params.shape + [2]), - scale_diag=tf.broadcast_to([0.01, 0.01], params.shape + [2]) - ), - initial_parameter_prior=normal.Normal(5., 0.5), - num_outer_particles=num_outer_particles, - num_inner_particles=num_inner_particles, - outer_rejuvenation_criterion_fn=rejuvenation_criterion, - inner_transition_fn=lambda params: - lambda _, state: particle_dynamics(params, _, state), - inner_observation_fn=lambda params: ( - lambda _, state: independent.Independent( - normal.Normal(state, 2.), 1) - ), - outer_trace_fn=lambda s, r: ( - s.particles[0], - s.particles[1] - ), - parameter_proposal_kernel=lambda params: normal.Normal(params, 3), - seed=test_util.test_seed() - ) - ) - - abs_params = tf.abs(params) - differences = abs_params[1:] - abs_params[:-1] - mask_parameters = tf.reduce_all(tf.less_equal(differences, 0), axis=0) - - self.assertAllTrue(mask_parameters) - - def test_smc_squared_can_step_dynamics_faster_than_observations(self): - initial_state_prior = jdn.JointDistributionNamed({ - 'position': deterministic.Deterministic([1.]), - 'velocity': deterministic.Deterministic([0.]) - }) - - # Use 100 steps between observations to integrate a simple harmonic - # oscillator. - dt = 0.01 - def simple_harmonic_motion_transition_fn(_, state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=state['position'] + dt * state['velocity'], - scale=dt * 0.01), - 'velocity': - normal.Normal( - loc=state['velocity'] - dt * state['position'], - scale=dt * 0.01) - }) - - def observe_position(_, state): - return normal.Normal(loc=state['position'], scale=0.01) - - particles, lps = self.evaluate(particle_filter.smc_squared( - observations=tf.convert_to_tensor( - [tf.math.cos(0.), tf.math.cos(1.)]), - inner_initial_state_prior=lambda _, params: initial_state_prior, - initial_parameter_prior=deterministic.Deterministic(0.), - num_outer_particles=1, - inner_transition_fn=lambda params: - simple_harmonic_motion_transition_fn, - inner_observation_fn=lambda params: observe_position, - num_inner_particles=1024, - outer_trace_fn=lambda s, r: ( - s.particles[1].particles, - s.particles[3] - ), - num_transitions_per_observation=100, - seed=test_util.test_seed()) - ) - - self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, - 1, - 1024])) - - self.assertAllClose(tf.transpose(np.mean(particles['position'], axis=-1)), - tf.reshape(tf.math.cos(dt * np.arange(102)), [1, -1]), - atol=0.04) - - self.assertAllEqual(ps.shape(lps), [102, 1]) - self.assertGreater(lps[1][0], 1.) - self.assertGreater(lps[-1][0], 3.) - - def test_smc_squared_custom_outer_trace_fn(self): - def trace_fn(state, _): - # Traces the mean and stddev of the particle population at each step. - weights = tf.exp(state[0][1].log_weights[0]) - mean = tf.reduce_sum(weights * state[0][1].particles[0], axis=0) - variance = tf.reduce_sum( - weights * (state[0][1].particles[0] - mean[tf.newaxis, ...]) ** 2) - return {'mean': mean, - 'stddev': tf.sqrt(variance), - # In real usage we would likely not track the particles and - # weights. We keep them here just so we can double-check the - # stats, below. - 'particles': state[0][1].particles[0], - 'weights': weights} - - results = self.evaluate(particle_filter.smc_squared( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - inner_initial_state_prior=lambda _, params: normal.Normal([0.], 1.), - initial_parameter_prior=deterministic.Deterministic(0.), - inner_transition_fn=lambda params: (lambda _, state: - normal.Normal(state, 1.)), - inner_observation_fn=lambda params: (lambda _, state: - normal.Normal(state, 1.)), - num_inner_particles=1024, - num_outer_particles=1, - outer_trace_fn=trace_fn, - seed=test_util.test_seed()) - ) - - # Verify that posterior means are increasing. - self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) - - # Check that our traced means and scales match values computed - # by averaging over particles after the fact. - all_means = self.evaluate(tf.reduce_sum( - results['weights'] * results['particles'], axis=1)) - all_variances = self.evaluate( - tf.reduce_sum( - results['weights'] * - (results['particles'] - all_means[..., tf.newaxis])**2, - axis=1)) - self.assertAllClose(results['mean'], all_means) - self.assertAllClose(results['stddev'], np.sqrt(all_variances)) - - def test_smc_squared_indices_to_trace(self): - num_outer_particles = 7 - num_inner_particles = 13 - - def rejuvenation_criterion(step, state): - # Rejuvenation every 3 steps - cond = tf.logical_and( - tf.equal(tf.math.mod(step, tf.constant(3)), tf.constant(0)), - tf.not_equal(state.extra[0], tf.constant(0)) - ) - return tf.cond(cond, lambda: tf.constant(True), - lambda: tf.constant(False)) - - (parameters, weight_parameters, - inner_particles, inner_log_weights, lp) = self.evaluate( - particle_filter.smc_squared( - observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), - initial_parameter_prior=deterministic.Deterministic(0.), - inner_initial_state_prior=lambda _, params: normal.Normal( - [0.] * num_outer_particles, 1. - ), - inner_transition_fn=lambda params: - (lambda _, state: normal.Normal(state, 10.)), - inner_observation_fn=lambda params: - (lambda _, state: normal.Normal(state, 0.1)), - num_inner_particles=num_inner_particles, - num_outer_particles=num_outer_particles, - outer_rejuvenation_criterion_fn=rejuvenation_criterion, - outer_trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda - s.particles[0], - s.log_weights, - s.particles[1].particles, - s.particles[1].log_weights, - r.accumulated_log_marginal_likelihood), - seed=test_util.test_seed()) - ) - - # TODO: smc_squared at the moment starts his run with an empty step - self.assertAllEqual(ps.shape(parameters), [6, 7]) - self.assertAllEqual(ps.shape(weight_parameters), [6, 7]) - self.assertAllEqual(ps.shape(inner_particles), [6, 7, 13]) - self.assertAllEqual(ps.shape(inner_log_weights), [6, 7, 13]) - self.assertAllEqual(ps.shape(lp), [6]) - # TODO(b/186068104): add tests with dynamic shapes. class ParticleFilterTestFloat32(_ParticleFilterTest): From 7f750347b0f067146414e3537a5900609b41f460 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 13 Feb 2024 19:14:48 +0100 Subject: [PATCH 22/24] re-added test --- .../experimental/mcmc/particle_filter_test.py | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 7ce4f33c29..0d7247c958 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -41,6 +41,143 @@ @test_util.test_all_tf_execution_regimes class _ParticleFilterTest(test_util.TestCase): + def test_random_walk(self): + initial_state_prior = jdn.JointDistributionNamed( + {'position': deterministic.Deterministic(0.)}) + + # Biased random walk. + def particle_dynamics(_, previous_state): + state_shape = ps.shape(previous_state['position']) + return jdn.JointDistributionNamed({ + 'position': + transformed_distribution.TransformedDistribution( + bernoulli.Bernoulli( + probs=tf.fill(state_shape, 0.75), dtype=self.dtype), + shift.Shift(previous_state['position'])) + }) + + # Completely uninformative observations allowing a test + # of the pure dynamics. + def particle_observations(_, state): + state_shape = ps.shape(state['position']) + return uniform.Uniform( + low=tf.fill(state_shape, -100.), high=tf.fill(state_shape, 100.)) + + observations = tf.zeros((9,), dtype=self.dtype) + trajectories, _ = self.evaluate( + particle_filter.infer_trajectories( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=particle_dynamics, + observation_fn=particle_observations, + num_particles=16384, + seed=test_util.test_seed())) + position = trajectories['position'] + + # The trajectories have the following properties: + # 1. they lie completely in the range [0, 8] + self.assertAllInRange(position, 0., 8.) + # 2. each step lies in the range [0, 1] + self.assertAllInRange(position[1:] - position[:-1], 0., 1.) + # 3. the expectation and variance of the final positions are 6 and 1.5. + self.assertAllClose(tf.reduce_mean(position[-1]), 6., atol=0.1) + self.assertAllClose(tf.math.reduce_variance(position[-1]), 1.5, atol=0.1) + + def test_batch_of_filters(self): + + batch_shape = [3, 2] + num_particles = 1000 + num_timesteps = 40 + + # Batch of priors on object 1D positions and velocities. + initial_state_prior = jdn.JointDistributionNamed({ + 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), + 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) + }) + + def transition_fn(_, previous_state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=previous_state['position'] + previous_state['velocity'], + scale=0.1), + 'velocity': + normal.Normal(loc=previous_state['velocity'], scale=0.01) + }) + + def observation_fn(_, state): + return normal.Normal(loc=state['position'], scale=0.1) + + # Batch of synthetic observations, . + true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) + true_velocities = 0.1 * np.random.randn( + *batch_shape).astype(self.dtype) + observed_positions = ( + true_velocities * + np.arange(num_timesteps).astype( + self.dtype)[..., tf.newaxis, tf.newaxis] + + true_initial_positions) + + (particles, log_weights, parent_indices, + incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed())) + + self.assertAllEqual(particles['position'].shape, + [num_timesteps, num_particles] + batch_shape) + self.assertAllEqual(particles['velocity'].shape, + [num_timesteps, num_particles] + batch_shape) + self.assertAllEqual(parent_indices.shape, + [num_timesteps, num_particles] + batch_shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + self.assertAllClose( + self.evaluate( + tf.reduce_sum(tf.exp(log_weights) * + particles['position'], axis=1)), + observed_positions, + atol=0.1) + + velocity_means = tf.reduce_sum(tf.exp(log_weights) * + particles['velocity'], axis=1) + self.assertAllClose( + self.evaluate(tf.reduce_mean(velocity_means, axis=0)), + true_velocities, atol=0.05) + + # Uncertainty in velocity should decrease over time. + velocity_stddev = self.evaluate( + tf.math.reduce_std(particles['velocity'], axis=1)) + self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, parent_indices)) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['velocity'].shape) + + # Verify that `infer_trajectories` also works on batches. + trajectories, incremental_log_marginal_likelihoods = self.evaluate( + particle_filter.infer_trajectories( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed())) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, num_particles] + batch_shape, + trajectories['velocity'].shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + def test_batch_of_filters_particles_dim_1(self): batch_shape = [3, 2] From 6ce8495f4fbf8e9a6c5b658384f4f18d0ffd2058 Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 13 Feb 2024 19:16:10 +0100 Subject: [PATCH 23/24] re-added tests --- .../experimental/mcmc/particle_filter_test.py | 761 ++++++++++++++++++ 1 file changed, 761 insertions(+) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 0d7247c958..96c7243896 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -288,6 +288,767 @@ def observation_fn(_, state): self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) + def test_batch_of_filters_particles_dim_1(self): + + batch_shape = [3, 2] + num_particles = 1000 + num_timesteps = 40 + + # Batch of priors on object 1D positions and velocities. + initial_state_prior = jdn.JointDistributionNamed({ + 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), + 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) + }) + + def transition_fn(_, previous_state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=previous_state['position'] + previous_state['velocity'], + scale=0.1), + 'velocity': + normal.Normal(loc=previous_state['velocity'], scale=0.01) + }) + + def observation_fn(_, state): + return normal.Normal(loc=state['position'], scale=0.1) + + # Batch of synthetic observations, . + true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) + true_velocities = 0.1 * np.random.randn( + *batch_shape).astype(self.dtype) + observed_positions = ( + true_velocities * + np.arange(num_timesteps).astype( + self.dtype)[..., tf.newaxis, tf.newaxis] + + true_initial_positions) + + (particles, log_weights, parent_indices, + incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + seed=test_util.test_seed(), + particles_dim=1)) + + self.assertAllEqual(particles['position'].shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(particles['velocity'].shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(parent_indices.shape, + [num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]]) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + self.assertAllClose( + self.evaluate( + tf.reduce_sum(tf.exp(log_weights) * + particles['position'], axis=2)), + observed_positions, + atol=0.3) + + velocity_means = tf.reduce_sum(tf.exp(log_weights) * + particles['velocity'], axis=2) + + self.assertAllClose( + self.evaluate(tf.reduce_mean(velocity_means, axis=0)), + true_velocities, atol=0.05) + + # Uncertainty in velocity should decrease over time. + velocity_stddev = self.evaluate( + tf.math.reduce_std(particles['velocity'], axis=2)) + self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, + parent_indices, + particles_dim=1)) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['velocity'].shape) + + # Verify that `infer_trajectories` also works on batches. + trajectories, incremental_log_marginal_likelihoods = self.evaluate( + particle_filter.infer_trajectories( + observations=observed_positions, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + particles_dim=1, + seed=test_util.test_seed())) + + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['position'].shape) + self.assertAllEqual([num_timesteps, + batch_shape[0], + num_particles, + batch_shape[1]], + trajectories['velocity'].shape) + self.assertAllEqual(incremental_log_marginal_likelihoods.shape, + [num_timesteps] + batch_shape) + + def test_reconstruct_trajectories_toy_example(self): + particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) + # 1 -- 4 -- 7 + # 2 \/ 5 .- 8 + # 3 /\ 6 /-- 9 + parent_indices = tf.convert_to_tensor([[0, 1, 2], [0, 2, 1], [0, 2, 2]]) + + trajectories = self.evaluate( + particle_filter.reconstruct_trajectories(particles, parent_indices)) + self.assertAllEqual( + np.array([[1, 2, 2], [4, 6, 6], [7, 8, 9]]), trajectories) + + def test_epidemiological_model(self): + # A toy, discrete version of an SIR (Susceptible, Infected, Recovered) + # model (https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology) + + population_size = 1000 + infection_rate = tf.convert_to_tensor(1.1) + infectious_period = tf.convert_to_tensor(8.0) + + initial_state_prior = jdn.JointDistributionNamed({ + 'susceptible': deterministic.Deterministic(999.), + 'infected': deterministic.Deterministic(1.), + 'new_infections': deterministic.Deterministic(1.), + 'new_recoveries': deterministic.Deterministic(0.) + }) + + # Dynamics model: new infections and recoveries are given by the SIR + # model with Poisson noise. + def infection_dynamics(_, previous_state): + new_infections = poisson.Poisson( + infection_rate * previous_state['infected'] * + previous_state['susceptible'] / population_size) + new_recoveries = poisson.Poisson(previous_state['infected'] / + infectious_period) + + def susceptible(new_infections): + return deterministic.Deterministic( + ps.maximum(0., previous_state['susceptible'] - new_infections)) + + def infected(new_infections, new_recoveries): + return deterministic.Deterministic( + ps.maximum( + 0., + previous_state['infected'] + new_infections - new_recoveries)) + + return jdn.JointDistributionNamed({ + 'new_infections': new_infections, + 'new_recoveries': new_recoveries, + 'susceptible': susceptible, + 'infected': infected + }) + + # Observation model: each day we detect new cases, noisily. + def infection_observations(_, state): + return poisson.Poisson(state['infected']) + + # pylint: disable=bad-whitespace + observations = tf.convert_to_tensor([ + 0., 4., 1., 5., 23., 27., 75., 127., 248., 384., 540., 683., + 714., 611., 561., 493., 385., 348., 300., 277., 249., 219., 216., 174., + 132., 122., 115., 99., 76., 84., 77., 56., 42., 56., 46., 38., + 34., 44., 25., 27.]) + # pylint: enable=bad-whitespace + + trajectories, _ = self.evaluate( + particle_filter.infer_trajectories( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=infection_dynamics, + observation_fn=infection_observations, + num_particles=100, + seed=test_util.test_seed())) + + # The susceptible population should decrease over time. + self.assertAllLessEqual( + trajectories['susceptible'][1:, ...] - + trajectories['susceptible'][:-1, ...], + 0.0) + + def test_data_driven_proposal(self): + + num_particles = 100 + observations = tf.convert_to_tensor([60., -179.2, 1337.42]) + + # Define a system constrained primarily by observations, where proposing + # from the dynamics would be a bad fit. + initial_state_prior = normal.Normal(loc=0., scale=1e6) + transition_fn = ( + lambda _, previous_state: normal.Normal(loc=previous_state, scale=1e6)) + observation_fn = lambda _, state: normal.Normal(loc=state, scale=0.1) + initial_state_proposal = normal.Normal(loc=observations[0], scale=0.1) + proposal_fn = ( + lambda step, state: normal.Normal( # pylint: disable=g-long-lambda + loc=tf.ones_like(state) * observations[step + 1], + scale=1.0)) + + trajectories, _ = self.evaluate( + particle_filter.infer_trajectories( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=transition_fn, + observation_fn=observation_fn, + num_particles=num_particles, + initial_state_proposal=initial_state_proposal, + proposal_fn=proposal_fn, + seed=test_util.test_seed())) + self.assertAllClose(trajectories, + tf.convert_to_tensor( + tf.convert_to_tensor( + observations)[..., tf.newaxis] * + tf.ones([num_particles])), atol=1.0) + + def test_estimated_prob_approximates_true_prob(self): + + # Draw simulated data from a 2D linear Gaussian system. + initial_state_prior = mvn_diag.MultivariateNormalDiag( + loc=0., scale_diag=(1., 1.)) + transition_matrix = tf.convert_to_tensor([[1., -0.5], [0.4, -1.]]) + transition_noise = mvn_tril.MultivariateNormalTriL( + loc=1., scale_tril=tf.convert_to_tensor([[0.3, 0], [-0.1, 0.2]])) + observation_matrix = tf.convert_to_tensor([[0.1, 1.], [1., 0.2]]) + observation_noise = mvn_tril.MultivariateNormalTriL( + loc=-0.3, scale_tril=tf.convert_to_tensor([[0.5, 0], [0.1, 0.5]])) + model = lgssm.LinearGaussianStateSpaceModel( + num_timesteps=20, + initial_state_prior=initial_state_prior, + transition_matrix=transition_matrix, + transition_noise=transition_noise, + observation_matrix=observation_matrix, + observation_noise=observation_noise) + observations = self.evaluate( + model.sample(seed=test_util.test_seed())) + (lps, filtered_means, + _, _, _, _, _) = self.evaluate(model.forward_filter(observations)) + + # Approximate the filtering means and marginal likelihood(s) using + # the particle filter. + # pylint: disable=g-long-lambda + (particles, log_weights, _, + estimated_incremental_log_marginal_likelihoods) = self.evaluate( + particle_filter.particle_filter( + observations=observations, + initial_state_prior=initial_state_prior, + transition_fn=lambda _, previous_state: mvn_tril. + MultivariateNormalTriL( + loc=transition_noise.loc + tf.linalg.matvec( + transition_matrix, previous_state), + scale_tril=transition_noise.scale_tril), + observation_fn=lambda _, state: mvn_tril.MultivariateNormalTriL( + loc=observation_noise.loc + tf.linalg.matvec( + observation_matrix, state), + scale_tril=observation_noise.scale_tril), + num_particles=1024, + seed=test_util.test_seed())) + # pylint: enable=g-long-lambda + + particle_means = np.sum( + particles * np.exp(log_weights)[..., np.newaxis], axis=1) + self.assertAllClose(filtered_means, particle_means, atol=0.1, rtol=0.1) + + self.assertAllClose( + lps, estimated_incremental_log_marginal_likelihoods, atol=0.6) + + def test_proposal_weights_dont_affect_marginal_likelihood(self): + observation = np.array([-1.3, 0.7]).astype(self.dtype) + # This particle filter has proposals different from the dynamics, + # so internally it will use proposal weights in addition to observation + # weights. It should still get the observation likelihood correct. + _, lps = self.evaluate( + particle_filter.infer_trajectories( + observation, + initial_state_prior=normal.Normal(loc=0., scale=1.), + transition_fn=lambda _, x: normal.Normal(loc=x, scale=1.), + observation_fn=lambda _, x: normal.Normal(loc=x, scale=1.), + initial_state_proposal=normal.Normal(loc=0., scale=5.), + proposal_fn=lambda _, x: normal.Normal(loc=x, scale=5.), + num_particles=2048, + seed=test_util.test_seed())) + + # Compare marginal likelihood against that + # from the true (jointly normal) marginal distribution. + y1_marginal_dist = normal.Normal(loc=0., scale=np.sqrt(1. + 1.)) + y2_conditional_dist = ( + lambda y1: normal.Normal(loc=y1 / 2., scale=np.sqrt(5. / 2.))) + true_lps = tf.stack( + [y1_marginal_dist.log_prob(observation[0]), + y2_conditional_dist(observation[0]).log_prob(observation[1])], + axis=0) + # The following line passes at atol = 0.01 if num_particles = 32768. + self.assertAllClose(true_lps, lps, atol=0.2) + + def test_can_step_dynamics_faster_than_observations(self): + initial_state_prior = jdn.JointDistributionNamed({ + 'position': deterministic.Deterministic(1.), + 'velocity': deterministic.Deterministic(0.) + }) + + # Use 100 steps between observations to integrate a simple harmonic + # oscillator. + dt = 0.01 + def simple_harmonic_motion_transition_fn(_, state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=state['position'] + dt * state['velocity'], + scale=dt * 0.01), + 'velocity': + normal.Normal( + loc=state['velocity'] - dt * state['position'], + scale=dt * 0.01) + }) + + def observe_position(_, state): + return normal.Normal(loc=state['position'], scale=0.01) + + particles, _, _, lps = self.evaluate( + particle_filter.particle_filter( + # 'Observing' the values we'd expect from a proper integrator should + # give high likelihood if our discrete approximation is good. + observations=tf.convert_to_tensor( + [tf.math.cos(0.), tf.math.cos(1.)]), + initial_state_prior=initial_state_prior, + transition_fn=simple_harmonic_motion_transition_fn, + observation_fn=observe_position, + num_particles=1024, + num_transitions_per_observation=100, + seed=test_util.test_seed())) + + self.assertLen(particles['position'], 101) + self.assertAllClose(np.mean(particles['position'], axis=-1), + tf.math.cos(dt * np.arange(101)), + atol=0.04) + self.assertLen(lps, 101) + self.assertGreater(lps[0], 3.) + self.assertGreater(lps[-1], 3.) + + def test_custom_trace_fn(self): + + def trace_fn(state, _): + # Traces the mean and stddev of the particle population at each step. + weights = tf.exp(state.log_weights) + mean = tf.reduce_sum(weights * state.particles, axis=0) + variance = tf.reduce_sum( + weights * (state.particles - mean[tf.newaxis, ...])**2) + return {'mean': mean, + 'stddev': tf.sqrt(variance), + # In real usage we would likely not track the particles and + # weights. We keep them here just so we can double-check the + # stats, below. + 'particles': state.particles, + 'weights': weights} + + results = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 1.), + observation_fn=lambda _, state: normal.Normal(state, 1.), + num_particles=1024, + trace_fn=trace_fn, + seed=test_util.test_seed())) + + # Verify that posterior means are increasing. + self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) + + # Check that our traced means and scales match values computed + # by averaging over particles after the fact. + all_means = self.evaluate(tf.reduce_sum( + results['weights'] * results['particles'], axis=1)) + all_variances = self.evaluate( + tf.reduce_sum( + results['weights'] * + (results['particles'] - all_means[..., tf.newaxis])**2, + axis=1)) + self.assertAllClose(results['mean'], all_means) + self.assertAllClose(results['stddev'], np.sqrt(all_variances)) + + def test_step_indices_to_trace(self): + num_particles = 1024 + (particles_1_3, log_weights_1_3, parent_indices_1_3, + incremental_log_marginal_likelihood_1_3) = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 10.), + observation_fn=lambda _, state: normal.Normal(state, 0.1), + num_particles=num_particles, + trace_criterion_fn=lambda s, r: ps.logical_or( # pylint: disable=g-long-lambda + ps.equal(r.steps, 2), ps.equal(r.steps, 4)), + static_trace_allocation_size=2, + seed=test_util.test_seed())) + self.assertLen(particles_1_3, 2) + self.assertLen(log_weights_1_3, 2) + self.assertLen(parent_indices_1_3, 2) + self.assertLen(incremental_log_marginal_likelihood_1_3, 2) + means = np.sum(np.exp(log_weights_1_3) * particles_1_3, axis=1) + self.assertAllClose(means, [3., 7.], atol=1.) + + (final_particles, final_log_weights, final_cumulative_lp) = self.evaluate( + particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_state_prior=normal.Normal(0., 1.), + transition_fn=lambda _, state: normal.Normal(state, 10.), + observation_fn=lambda _, state: normal.Normal(state, 0.1), + num_particles=num_particles, + trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda + s.particles, + s.log_weights, + r.accumulated_log_marginal_likelihood), + trace_criterion_fn=None, + seed=test_util.test_seed())) + self.assertLen(final_particles, num_particles) + self.assertLen(final_log_weights, num_particles) + self.assertEqual(final_cumulative_lp.shape, ()) + means = np.sum(np.exp(final_log_weights) * final_particles) + self.assertAllClose(means, 9., atol=1.5) + + def test_warns_if_transition_distribution_has_unexpected_shape(self): + + initial_state_prior = jdab.JointDistributionNamedAutoBatched({ + 'sales': deterministic.Deterministic(0.), + 'inventory': deterministic.Deterministic(1000.) + }) + + # Inventory decreases by a Poisson RV 'sales', but is lower bounded at zero. + def valid_transition_fn(_, particles): + return jdab.JointDistributionNamedAutoBatched( + { + 'sales': + poisson.Poisson(10. * tf.ones_like(particles['inventory'])), + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + batch_ndims=1, + validate_args=True) + + def dummy_observation_fn(_, state): + return normal.Normal(state['inventory'], 1000.) + + run_filter = functools.partial( + particle_filter.particle_filter, + observations=tf.zeros([10]), + initial_state_prior=initial_state_prior, + observation_fn=dummy_observation_fn, + num_particles=3, + seed=test_util.test_seed(sampler_type='stateless')) + + # Check that the model runs as written. + self.evaluate(run_filter(transition_fn=valid_transition_fn)) + self.evaluate(run_filter(transition_fn=valid_transition_fn, + proposal_fn=valid_transition_fn)) + + # Check that broken transition functions raise exceptions. + def transition_fn_broadcasts_over_particles(_, particles): + return jdn.JointDistributionNamed( + { + 'sales': + poisson.Poisson(10. + ), # Proposes same value for all particles. + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + validate_args=True) + + def transition_fn_partial_batch_shape(_, particles): + return jdn.JointDistributionNamed( + # Using `Sample` ensures iid proposals for each particle, but not + # per-particle log probs. + { + 'sales': + sample_dist_lib.Sample( + poisson.Poisson(10.), ps.shape(particles['sales'])), + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + validate_args=True) + + def transition_fn_no_batch_shape(_, particles): + # Autobatched JD defaults to treating num_particles as event shape, but + # we need it to be batch shape to get per-particle logprobs. + return jdab.JointDistributionNamedAutoBatched( + { + 'sales': + poisson.Poisson(10. * tf.ones_like(particles['inventory'])), + 'inventory': + lambda sales: deterministic.Deterministic( # pylint: disable=g-long-lambda + tf.maximum(0., particles['inventory'] - sales)) + }, + validate_args=True) + + with self.assertRaisesRegex(ValueError, 'transition distribution'): + self.evaluate( + run_filter(transition_fn=transition_fn_broadcasts_over_particles)) + with self.assertRaisesRegex(ValueError, 'transition distribution'): + self.evaluate( + run_filter(transition_fn=transition_fn_partial_batch_shape)) + with self.assertRaisesRegex(ValueError, 'transition distribution'): + self.evaluate( + run_filter(transition_fn=transition_fn_no_batch_shape)) + + with self.assertRaisesRegex(ValueError, 'proposal distribution'): + self.evaluate( + run_filter(transition_fn=valid_transition_fn, + proposal_fn=transition_fn_partial_batch_shape)) + with self.assertRaisesRegex(ValueError, 'proposal distribution'): + self.evaluate( + run_filter(transition_fn=valid_transition_fn, + proposal_fn=transition_fn_broadcasts_over_particles)) + + with self.assertRaisesRegex(ValueError, 'proposal distribution'): + self.evaluate( + run_filter(transition_fn=valid_transition_fn, + proposal_fn=transition_fn_no_batch_shape)) + + @test_util.jax_disable_test_missing_functionality('Gradient of while_loop.') + def test_marginal_likelihood_gradients_are_defined(self): + + def marginal_log_likelihood(level_scale, noise_scale): + _, _, _, lps = particle_filter.particle_filter( + observations=tf.convert_to_tensor([1., 2., 3., 4., 5.]), + initial_state_prior=normal.Normal(loc=0, scale=1.), + transition_fn=lambda _, x: normal.Normal(loc=x, scale=level_scale), + observation_fn=lambda _, x: normal.Normal(loc=x, scale=noise_scale), + num_particles=4, + seed=test_util.test_seed()) + return tf.reduce_sum(lps) + + _, grads = gradient.value_and_gradient(marginal_log_likelihood, 1.0, 1.0) + self.assertAllNotNone(grads) + self.assertAllAssertsNested(self.assertNotAllZero, grads) + + def test_smc_squared_rejuvenation_parameters(self): + def particle_dynamics(params, _, previous_state): + reshaped_params = tf.reshape(params, + [params.shape[0]] + + [1] * (previous_state.shape.rank - 1)) + broadcasted_params = tf.broadcast_to(reshaped_params, + previous_state.shape) + reshaped_dist = independent.Independent( + normal.Normal(previous_state + broadcasted_params + 1, 0.1), + reinterpreted_batch_ndims=1 + ) + return reshaped_dist + + def rejuvenation_criterion(step, state): + # Rejuvenation every 2 steps + cond = tf.logical_and( + tf.equal(tf.math.mod(step, tf.constant(2)), tf.constant(0)), + tf.not_equal(state.extra[0], tf.constant(0)) + ) + return tf.cond(cond, lambda: tf.constant(True), + lambda: tf.constant(False)) + + observations = tf.stack([tf.range(15, dtype=tf.float32), + tf.range(15, dtype=tf.float32)], axis=1) + + num_outer_particles = 3 + num_inner_particles = 5 + + loc = tf.broadcast_to([0., 0.], [num_outer_particles, 2]) + scale_diag = tf.broadcast_to([0.01, 0.01], [num_outer_particles, 2]) + + params, _ = self.evaluate(particle_filter.smc_squared( + observations=observations, + inner_initial_state_prior=lambda _, params: + mvn_diag.MultivariateNormalDiag( + loc=loc, scale_diag=scale_diag + ), + initial_parameter_prior=normal.Normal(5., 0.5), + num_outer_particles=num_outer_particles, + num_inner_particles=num_inner_particles, + outer_rejuvenation_criterion_fn=rejuvenation_criterion, + inner_transition_fn=lambda params: + lambda _, state: particle_dynamics(params, _, state), + inner_observation_fn=lambda params: ( + lambda _, state: independent.Independent( + normal.Normal(state, 2.), 1) + ), + outer_trace_fn=lambda s, r: ( + s.particles[0], + s.particles[1] + ), + parameter_proposal_kernel=lambda params: normal.Normal(params, 3), + seed=test_util.test_seed() + ) + ) + + abs_params = tf.abs(params) + differences = abs_params[1:] - abs_params[:-1] + mask_parameters = tf.reduce_all(tf.less_equal(differences, 0), axis=0) + + self.assertAllTrue(mask_parameters) + + def test_smc_squared_can_step_dynamics_faster_than_observations(self): + initial_state_prior = jdn.JointDistributionNamed({ + 'position': deterministic.Deterministic([1.]), + 'velocity': deterministic.Deterministic([0.]) + }) + + # Use 100 steps between observations to integrate a simple harmonic + # oscillator. + dt = 0.01 + def simple_harmonic_motion_transition_fn(_, state): + return jdn.JointDistributionNamed({ + 'position': + normal.Normal( + loc=state['position'] + dt * state['velocity'], + scale=dt * 0.01), + 'velocity': + normal.Normal( + loc=state['velocity'] - dt * state['position'], + scale=dt * 0.01) + }) + + def observe_position(_, state): + return normal.Normal(loc=state['position'], scale=0.01) + + particles, lps = self.evaluate(particle_filter.smc_squared( + observations=tf.convert_to_tensor( + [tf.math.cos(0.), tf.math.cos(1.)]), + inner_initial_state_prior=lambda _, params: initial_state_prior, + initial_parameter_prior=deterministic.Deterministic(0.), + num_outer_particles=1, + inner_transition_fn=lambda params: + simple_harmonic_motion_transition_fn, + inner_observation_fn=lambda params: observe_position, + num_inner_particles=1024, + outer_trace_fn=lambda s, r: ( + s.particles[1].particles, + s.particles[3] + ), + num_transitions_per_observation=100, + seed=test_util.test_seed()) + ) + + self.assertAllEqual(ps.shape(particles['position']), tf.constant([102, + 1, + 1024])) + + self.assertAllClose(tf.transpose(np.mean(particles['position'], axis=-1)), + tf.reshape(tf.math.cos(dt * np.arange(102)), [1, -1]), + atol=0.04) + + self.assertAllEqual(ps.shape(lps), [102, 1]) + self.assertGreater(lps[1][0], 1.) + self.assertGreater(lps[-1][0], 3.) + + def test_smc_squared_custom_outer_trace_fn(self): + def trace_fn(state, _): + # Traces the mean and stddev of the particle population at each step. + weights = tf.exp(state[0][1].log_weights[0]) + mean = tf.reduce_sum(weights * state[0][1].particles[0], axis=0) + variance = tf.reduce_sum( + weights * (state[0][1].particles[0] - mean[tf.newaxis, ...]) ** 2) + return {'mean': mean, + 'stddev': tf.sqrt(variance), + # In real usage we would likely not track the particles and + # weights. We keep them here just so we can double-check the + # stats, below. + 'particles': state[0][1].particles[0], + 'weights': weights} + + results = self.evaluate(particle_filter.smc_squared( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + inner_initial_state_prior=lambda _, params: normal.Normal([0.], 1.), + initial_parameter_prior=deterministic.Deterministic(0.), + inner_transition_fn=lambda params: (lambda _, state: + normal.Normal(state, 1.)), + inner_observation_fn=lambda params: (lambda _, state: + normal.Normal(state, 1.)), + num_inner_particles=1024, + num_outer_particles=1, + outer_trace_fn=trace_fn, + seed=test_util.test_seed()) + ) + + # Verify that posterior means are increasing. + self.assertAllGreater(results['mean'][1:] - results['mean'][:-1], 0.) + + # Check that our traced means and scales match values computed + # by averaging over particles after the fact. + all_means = self.evaluate(tf.reduce_sum( + results['weights'] * results['particles'], axis=1)) + all_variances = self.evaluate( + tf.reduce_sum( + results['weights'] * + (results['particles'] - all_means[..., tf.newaxis])**2, + axis=1)) + self.assertAllClose(results['mean'], all_means) + self.assertAllClose(results['stddev'], np.sqrt(all_variances)) + + def test_smc_squared_indices_to_trace(self): + num_outer_particles = 7 + num_inner_particles = 13 + + def rejuvenation_criterion(step, state): + # Rejuvenation every 3 steps + cond = tf.logical_and( + tf.equal(tf.math.mod(step, tf.constant(3)), tf.constant(0)), + tf.not_equal(state.extra[0], tf.constant(0)) + ) + return tf.cond(cond, lambda: tf.constant(True), + lambda: tf.constant(False)) + + (parameters, weight_parameters, + inner_particles, inner_log_weights, lp) = self.evaluate( + particle_filter.smc_squared( + observations=tf.convert_to_tensor([1., 3., 5., 7., 9.]), + initial_parameter_prior=deterministic.Deterministic(0.), + inner_initial_state_prior=lambda _, params: normal.Normal( + [0.] * num_outer_particles, 1. + ), + inner_transition_fn=lambda params: + (lambda _, state: normal.Normal(state, 10.)), + inner_observation_fn=lambda params: + (lambda _, state: normal.Normal(state, 0.1)), + num_inner_particles=num_inner_particles, + num_outer_particles=num_outer_particles, + outer_rejuvenation_criterion_fn=rejuvenation_criterion, + outer_trace_fn=lambda s, r: ( # pylint: disable=g-long-lambda + s.particles[0], + s.log_weights, + s.particles[1].particles, + s.particles[1].log_weights, + r.accumulated_log_marginal_likelihood), + seed=test_util.test_seed()) + ) + + # TODO: smc_squared at the moment starts his run with an empty step + self.assertAllEqual(ps.shape(parameters), [6, 7]) + self.assertAllEqual(ps.shape(weight_parameters), [6, 7]) + self.assertAllEqual(ps.shape(inner_particles), [6, 7, 13]) + self.assertAllEqual(ps.shape(inner_log_weights), [6, 7, 13]) + self.assertAllEqual(ps.shape(lp), [6]) + # TODO(b/186068104): add tests with dynamic shapes. class ParticleFilterTestFloat32(_ParticleFilterTest): From 222c197fd8942536c5320f3fd692fd15b6e5003b Mon Sep 17 00:00:00 2001 From: slamitza Date: Tue, 13 Feb 2024 19:44:10 +0100 Subject: [PATCH 24/24] fixed errors --- .../experimental/mcmc/particle_filter_test.py | 144 +----------------- 1 file changed, 8 insertions(+), 136 deletions(-) diff --git a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py index 96c7243896..7ddfd3ac30 100644 --- a/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py +++ b/tensorflow_probability/python/experimental/mcmc/particle_filter_test.py @@ -205,10 +205,10 @@ def observation_fn(_, state): # Batch of synthetic observations true_initial_positions = np.random.randn() - true_velocities = 0.1 * np.random.randn() observed_positions = ( - true_velocities * np.arange(num_timesteps).astype(self.dtype) + true_initial_positions) + true_velocities * np.arange(num_timesteps).astype(self.dtype) + + true_initial_positions) (particles, log_weights, parent_indices, incremental_log_marginal_likelihoods) = self.evaluate( @@ -288,128 +288,6 @@ def observation_fn(_, state): self.assertAllEqual(incremental_log_marginal_likelihoods.shape, [num_timesteps] + batch_shape) - def test_batch_of_filters_particles_dim_1(self): - - batch_shape = [3, 2] - num_particles = 1000 - num_timesteps = 40 - - # Batch of priors on object 1D positions and velocities. - initial_state_prior = jdn.JointDistributionNamed({ - 'position': normal.Normal(loc=0., scale=tf.ones(batch_shape)), - 'velocity': normal.Normal(loc=0., scale=tf.ones(batch_shape) * 0.1) - }) - - def transition_fn(_, previous_state): - return jdn.JointDistributionNamed({ - 'position': - normal.Normal( - loc=previous_state['position'] + previous_state['velocity'], - scale=0.1), - 'velocity': - normal.Normal(loc=previous_state['velocity'], scale=0.01) - }) - - def observation_fn(_, state): - return normal.Normal(loc=state['position'], scale=0.1) - - # Batch of synthetic observations, . - true_initial_positions = np.random.randn(*batch_shape).astype(self.dtype) - true_velocities = 0.1 * np.random.randn( - *batch_shape).astype(self.dtype) - observed_positions = ( - true_velocities * - np.arange(num_timesteps).astype( - self.dtype)[..., tf.newaxis, tf.newaxis] + - true_initial_positions) - - (particles, log_weights, parent_indices, - incremental_log_marginal_likelihoods) = self.evaluate( - particle_filter.particle_filter( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - seed=test_util.test_seed(), - particles_dim=1)) - - self.assertAllEqual(particles['position'].shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(particles['velocity'].shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(parent_indices.shape, - [num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]]) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - - self.assertAllClose( - self.evaluate( - tf.reduce_sum(tf.exp(log_weights) * - particles['position'], axis=2)), - observed_positions, - atol=0.3) - - velocity_means = tf.reduce_sum(tf.exp(log_weights) * - particles['velocity'], axis=2) - - self.assertAllClose( - self.evaluate(tf.reduce_mean(velocity_means, axis=0)), - true_velocities, atol=0.05) - - # Uncertainty in velocity should decrease over time. - velocity_stddev = self.evaluate( - tf.math.reduce_std(particles['velocity'], axis=2)) - self.assertAllLess((velocity_stddev[-1] - velocity_stddev[0]), 0.) - - trajectories = self.evaluate( - particle_filter.reconstruct_trajectories(particles, - parent_indices, - particles_dim=1)) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['velocity'].shape) - - # Verify that `infer_trajectories` also works on batches. - trajectories, incremental_log_marginal_likelihoods = self.evaluate( - particle_filter.infer_trajectories( - observations=observed_positions, - initial_state_prior=initial_state_prior, - transition_fn=transition_fn, - observation_fn=observation_fn, - num_particles=num_particles, - particles_dim=1, - seed=test_util.test_seed())) - - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['position'].shape) - self.assertAllEqual([num_timesteps, - batch_shape[0], - num_particles, - batch_shape[1]], - trajectories['velocity'].shape) - self.assertAllEqual(incremental_log_marginal_likelihoods.shape, - [num_timesteps] + batch_shape) - def test_reconstruct_trajectories_toy_example(self): particles = tf.convert_to_tensor([[1, 2, 3], [4, 5, 6,], [7, 8, 9]]) # 1 -- 4 -- 7 @@ -847,13 +725,10 @@ def marginal_log_likelihood(level_scale, noise_scale): def test_smc_squared_rejuvenation_parameters(self): def particle_dynamics(params, _, previous_state): - reshaped_params = tf.reshape(params, - [params.shape[0]] + - [1] * (previous_state.shape.rank - 1)) - broadcasted_params = tf.broadcast_to(reshaped_params, - previous_state.shape) reshaped_dist = independent.Independent( - normal.Normal(previous_state + broadcasted_params + 1, 0.1), + normal.Normal( + previous_state + params[..., tf.newaxis, tf.newaxis] + 1, 0.1 + ), reinterpreted_batch_ndims=1 ) return reshaped_dist @@ -864,8 +739,7 @@ def rejuvenation_criterion(step, state): tf.equal(tf.math.mod(step, tf.constant(2)), tf.constant(0)), tf.not_equal(state.extra[0], tf.constant(0)) ) - return tf.cond(cond, lambda: tf.constant(True), - lambda: tf.constant(False)) + return cond observations = tf.stack([tf.range(15, dtype=tf.float32), tf.range(15, dtype=tf.float32)], axis=1) @@ -873,14 +747,12 @@ def rejuvenation_criterion(step, state): num_outer_particles = 3 num_inner_particles = 5 - loc = tf.broadcast_to([0., 0.], [num_outer_particles, 2]) - scale_diag = tf.broadcast_to([0.01, 0.01], [num_outer_particles, 2]) - params, _ = self.evaluate(particle_filter.smc_squared( observations=observations, inner_initial_state_prior=lambda _, params: mvn_diag.MultivariateNormalDiag( - loc=loc, scale_diag=scale_diag + loc=tf.broadcast_to([0., 0.], params.shape + [2]), + scale_diag=tf.broadcast_to([0.01, 0.01], params.shape + [2]) ), initial_parameter_prior=normal.Normal(5., 0.5), num_outer_particles=num_outer_particles,