gitextract_cigk8yyx/ ├── .codecov.yml ├── .coveragerc ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ └── issue_template.md │ └── workflows/ │ ├── ci.yml │ └── publish.yml ├── .gitignore ├── .readthedocs.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── LICENSES/ │ ├── Apache-2.0.txt │ ├── BSD-3-Clause.txt │ └── MIT.txt ├── MANIFEST.in ├── Makefile ├── README.md ├── RELEASE-MANAGEMENT.md ├── docker/ │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ └── install.sh ├── docs/ │ ├── Makefile │ ├── README.md │ ├── requirements.txt │ └── source/ │ ├── _static/ │ │ ├── css/ │ │ │ └── pyro.css │ │ └── img/ │ │ └── favicon/ │ │ ├── browserconfig.xml │ │ └── manifest.json │ ├── conf.py │ ├── contrib.autoname.rst │ ├── contrib.bnn.rst │ ├── contrib.cevae.rst │ ├── contrib.easyguide.rst │ ├── contrib.epidemiology.rst │ ├── contrib.examples.rst │ ├── contrib.forecast.rst │ ├── contrib.funsor.rst │ ├── contrib.gp.rst │ ├── contrib.minipyro.rst │ ├── contrib.mue.rst │ ├── contrib.oed.rst │ ├── contrib.randomvariable.rst │ ├── contrib.timeseries.rst │ ├── contrib.tracking.rst │ ├── contrib.zuko.rst │ ├── distributions.rst │ ├── getting_started.rst │ ├── index.rst │ ├── infer.autoguide.rst │ ├── infer.reparam.rst │ ├── infer.util.rst │ ├── inference.rst │ ├── inference_algos.rst │ ├── mcmc.rst │ ├── nn.rst │ ├── ops.rst │ ├── optimization.rst │ ├── parameters.rst │ ├── poutine.rst │ ├── primitives.rst │ ├── pyro.infer.mcmc.txt │ ├── pyro.optim.txt │ ├── pyro.poutine.txt │ ├── settings.rst │ └── testing.rst ├── examples/ │ ├── __init__.py │ ├── air/ │ │ ├── air.py │ │ ├── main.py │ │ ├── modules.py │ │ └── viz.py │ ├── baseball.py │ ├── capture_recapture/ │ │ └── cjs.py │ ├── contrib/ │ │ ├── __init__.py │ │ ├── autoname/ │ │ │ ├── mixture.py │ │ │ ├── scoping_mixture.py │ │ │ └── tree_data.py │ │ ├── cevae/ │ │ │ └── synthetic.py │ │ ├── epidemiology/ │ │ │ ├── regional.py │ │ │ └── sir.py │ │ ├── forecast/ │ │ │ └── bart.py │ │ ├── funsor/ │ │ │ ├── __init__.py │ │ │ └── hmm.py │ │ ├── gp/ │ │ │ └── sv-dkl.py │ │ ├── mue/ │ │ │ ├── FactorMuE.py │ │ │ └── ProfileHMM.py │ │ ├── oed/ │ │ │ ├── ab_test.py │ │ │ └── gp_bayes_opt.py │ │ └── timeseries/ │ │ └── gp_models.py │ ├── cvae/ │ │ ├── __init__.py │ │ ├── baseline.py │ │ ├── cvae.py │ │ ├── main.py │ │ ├── mnist.py │ │ └── util.py │ ├── dmm.py │ ├── eight_schools/ │ │ ├── README.md │ │ ├── data.py │ │ ├── mcmc.py │ │ └── svi.py │ ├── einsum.py │ ├── hmm.py │ ├── inclined_plane.py │ ├── lda.py │ ├── lkj.py │ ├── minipyro.py │ ├── mixed_hmm/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── experiment.py │ │ ├── model.py │ │ └── seal_data.py │ ├── neutra.py │ ├── rsa/ │ │ ├── README.md │ │ ├── generics.py │ │ ├── hyperbole.py │ │ ├── schelling.py │ │ ├── schelling_false.py │ │ ├── search_inference.py │ │ └── semantic_parsing.py │ ├── scanvi/ │ │ ├── __init__.py │ │ └── scanvi.py │ ├── sir_hmc.py │ ├── smcfilter.py │ ├── sparse_gamma_def.py │ ├── sparse_regression.py │ ├── svi_horovod.py │ ├── svi_lightning.py │ ├── svi_torch.py │ ├── toy_mixture_model_discrete_enumeration.py │ └── vae/ │ ├── ss_vae_M2.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── custom_mlp.py │ │ ├── mnist_cached.py │ │ └── vae_plots.py │ ├── vae.py │ └── vae_comparison.py ├── profiler/ │ ├── __init__.py │ ├── distributions.py │ ├── gaussianhmm.py │ ├── hmm.py │ └── profiling_utils.py ├── pyproject.toml ├── pyro/ │ ├── __init__.py │ ├── contrib/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── autoguide.py │ │ ├── autoname/ │ │ │ ├── __init__.py │ │ │ ├── autoname.py │ │ │ ├── named.py │ │ │ └── scoping.py │ │ ├── bnn/ │ │ │ ├── __init__.py │ │ │ ├── hidden_layer.py │ │ │ └── utils.py │ │ ├── cevae/ │ │ │ └── __init__.py │ │ ├── conjugate/ │ │ │ ├── __init__.py │ │ │ └── infer.py │ │ ├── easyguide/ │ │ │ ├── __init__.py │ │ │ └── easyguide.py │ │ ├── epidemiology/ │ │ │ ├── __init__.py │ │ │ ├── compartmental.py │ │ │ ├── distributions.py │ │ │ ├── models.py │ │ │ └── util.py │ │ ├── examples/ │ │ │ ├── __init__.py │ │ │ ├── bart.py │ │ │ ├── finance.py │ │ │ ├── multi_mnist.py │ │ │ ├── nextstrain.py │ │ │ ├── polyphonic_data_loader.py │ │ │ ├── scanvi_data.py │ │ │ └── util.py │ │ ├── forecast/ │ │ │ ├── __init__.py │ │ │ ├── evaluate.py │ │ │ ├── forecaster.py │ │ │ └── util.py │ │ ├── funsor/ │ │ │ ├── __init__.py │ │ │ ├── handlers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── enum_messenger.py │ │ │ │ ├── named_messenger.py │ │ │ │ ├── plate_messenger.py │ │ │ │ ├── primitives.py │ │ │ │ ├── replay_messenger.py │ │ │ │ ├── runtime.py │ │ │ │ └── trace_messenger.py │ │ │ └── infer/ │ │ │ ├── __init__.py │ │ │ ├── discrete.py │ │ │ ├── elbo.py │ │ │ ├── trace_elbo.py │ │ │ ├── traceenum_elbo.py │ │ │ └── tracetmc_elbo.py │ │ ├── gp/ │ │ │ ├── __init__.py │ │ │ ├── kernels/ │ │ │ │ ├── __init__.py │ │ │ │ ├── brownian.py │ │ │ │ ├── coregionalize.py │ │ │ │ ├── dot_product.py │ │ │ │ ├── isotropic.py │ │ │ │ ├── kernel.py │ │ │ │ ├── periodic.py │ │ │ │ └── static.py │ │ │ ├── likelihoods/ │ │ │ │ ├── __init__.py │ │ │ │ ├── binary.py │ │ │ │ ├── gaussian.py │ │ │ │ ├── likelihood.py │ │ │ │ ├── multi_class.py │ │ │ │ └── poisson.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── gplvm.py │ │ │ │ ├── gpr.py │ │ │ │ ├── model.py │ │ │ │ ├── sgpr.py │ │ │ │ ├── vgp.py │ │ │ │ └── vsgp.py │ │ │ ├── parameterized.py │ │ │ └── util.py │ │ ├── minipyro.py │ │ ├── mue/ │ │ │ ├── __init__.py │ │ │ ├── dataloaders.py │ │ │ ├── missingdatahmm.py │ │ │ ├── models.py │ │ │ └── statearrangers.py │ │ ├── oed/ │ │ │ ├── __init__.py │ │ │ ├── eig.py │ │ │ ├── glmm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── glmm.py │ │ │ │ └── guides.py │ │ │ ├── search.py │ │ │ └── util.py │ │ ├── randomvariable/ │ │ │ ├── __init__.py │ │ │ └── random_variable.py │ │ ├── timeseries/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── gp.py │ │ │ ├── lgssm.py │ │ │ └── lgssmgp.py │ │ ├── tracking/ │ │ │ ├── __init__.py │ │ │ ├── assignment.py │ │ │ ├── distributions.py │ │ │ ├── dynamic_models.py │ │ │ ├── extended_kalman_filter.py │ │ │ ├── hashing.py │ │ │ └── measurements.py │ │ ├── util.py │ │ └── zuko.py │ ├── distributions/ │ │ ├── __init__.py │ │ ├── affine_beta.py │ │ ├── asymmetriclaplace.py │ │ ├── avf_mvn.py │ │ ├── coalescent.py │ │ ├── conditional.py │ │ ├── conjugate.py │ │ ├── constraints.py │ │ ├── delta.py │ │ ├── diag_normal_mixture.py │ │ ├── diag_normal_mixture_shared_cov.py │ │ ├── distribution.py │ │ ├── empirical.py │ │ ├── extended.py │ │ ├── folded.py │ │ ├── gaussian_scale_mixture.py │ │ ├── grouped_normal_normal.py │ │ ├── hmm.py │ │ ├── improper_uniform.py │ │ ├── inverse_gamma.py │ │ ├── kl.py │ │ ├── lkj.py │ │ ├── log_normal_negative_binomial.py │ │ ├── logistic.py │ │ ├── mixture.py │ │ ├── multivariate_studentt.py │ │ ├── nanmasked.py │ │ ├── omt_mvn.py │ │ ├── one_one_matching.py │ │ ├── one_two_matching.py │ │ ├── ordered_logistic.py │ │ ├── polya_gamma.py │ │ ├── projected_normal.py │ │ ├── rejector.py │ │ ├── relaxed_straight_through.py │ │ ├── score_parts.py │ │ ├── sine_bivariate_von_mises.py │ │ ├── sine_skewed.py │ │ ├── softlaplace.py │ │ ├── spanning_tree.cpp │ │ ├── spanning_tree.py │ │ ├── stable.py │ │ ├── stable_log_prob.py │ │ ├── testing/ │ │ │ ├── __init__.py │ │ │ ├── fakes.py │ │ │ ├── gof.py │ │ │ ├── naive_dirichlet.py │ │ │ ├── rejection_exponential.py │ │ │ ├── rejection_gamma.py │ │ │ └── special.py │ │ ├── torch.py │ │ ├── torch_distribution.py │ │ ├── torch_patch.py │ │ ├── torch_transform.py │ │ ├── transforms/ │ │ │ ├── __init__.py │ │ │ ├── affine_autoregressive.py │ │ │ ├── affine_coupling.py │ │ │ ├── basic.py │ │ │ ├── batchnorm.py │ │ │ ├── block_autoregressive.py │ │ │ ├── cholesky.py │ │ │ ├── discrete_cosine.py │ │ │ ├── generalized_channel_permute.py │ │ │ ├── haar.py │ │ │ ├── householder.py │ │ │ ├── lower_cholesky_affine.py │ │ │ ├── matrix_exponential.py │ │ │ ├── neural_autoregressive.py │ │ │ ├── normalize.py │ │ │ ├── ordered.py │ │ │ ├── permute.py │ │ │ ├── planar.py │ │ │ ├── polynomial.py │ │ │ ├── power.py │ │ │ ├── radial.py │ │ │ ├── simplex_to_ordered.py │ │ │ ├── softplus.py │ │ │ ├── spline.py │ │ │ ├── spline_autoregressive.py │ │ │ ├── spline_coupling.py │ │ │ ├── sylvester.py │ │ │ ├── unit_cholesky.py │ │ │ └── utils.py │ │ ├── unit.py │ │ ├── util.py │ │ ├── von_mises_3d.py │ │ └── zero_inflated.py │ ├── generic.py │ ├── infer/ │ │ ├── __init__.py │ │ ├── abstract_infer.py │ │ ├── autoguide/ │ │ │ ├── __init__.py │ │ │ ├── effect.py │ │ │ ├── gaussian.py │ │ │ ├── guides.py │ │ │ ├── initialization.py │ │ │ ├── structured.py │ │ │ └── utils.py │ │ ├── csis.py │ │ ├── discrete.py │ │ ├── elbo.py │ │ ├── energy_distance.py │ │ ├── enum.py │ │ ├── importance.py │ │ ├── inspect.py │ │ ├── mcmc/ │ │ │ ├── __init__.py │ │ │ ├── adaptation.py │ │ │ ├── api.py │ │ │ ├── hmc.py │ │ │ ├── logger.py │ │ │ ├── mcmc_kernel.py │ │ │ ├── nuts.py │ │ │ ├── rwkernel.py │ │ │ └── util.py │ │ ├── predictive.py │ │ ├── renyi_elbo.py │ │ ├── reparam/ │ │ │ ├── __init__.py │ │ │ ├── conjugate.py │ │ │ ├── discrete_cosine.py │ │ │ ├── haar.py │ │ │ ├── hmm.py │ │ │ ├── loc_scale.py │ │ │ ├── neutra.py │ │ │ ├── projected_normal.py │ │ │ ├── reparam.py │ │ │ ├── softmax.py │ │ │ ├── split.py │ │ │ ├── stable.py │ │ │ ├── strategies.py │ │ │ ├── structured.py │ │ │ ├── studentt.py │ │ │ ├── transform.py │ │ │ └── unit_jacobian.py │ │ ├── resampler.py │ │ ├── rws.py │ │ ├── smcfilter.py │ │ ├── svgd.py │ │ ├── svi.py │ │ ├── trace_elbo.py │ │ ├── trace_mean_field_elbo.py │ │ ├── trace_mmd.py │ │ ├── trace_tail_adaptive_elbo.py │ │ ├── traceenum_elbo.py │ │ ├── tracegraph_elbo.py │ │ ├── tracetmc_elbo.py │ │ └── util.py │ ├── logger.py │ ├── nn/ │ │ ├── __init__.py │ │ ├── auto_reg_nn.py │ │ ├── dense_nn.py │ │ └── module.py │ ├── ops/ │ │ ├── __init__.py │ │ ├── arrowhead.py │ │ ├── contract.py │ │ ├── dual_averaging.py │ │ ├── einsum/ │ │ │ ├── __init__.py │ │ │ ├── adjoint.py │ │ │ ├── torch_log.py │ │ │ ├── torch_map.py │ │ │ ├── torch_marginal.py │ │ │ ├── torch_sample.py │ │ │ └── util.py │ │ ├── gamma_gaussian.py │ │ ├── gaussian.py │ │ ├── hessian.py │ │ ├── indexing.py │ │ ├── integrator.py │ │ ├── jit.py │ │ ├── linalg.py │ │ ├── newton.py │ │ ├── packed.py │ │ ├── provenance.py │ │ ├── rings.py │ │ ├── special.py │ │ ├── ssm_gp.py │ │ ├── stats.py │ │ ├── streaming.py │ │ ├── tensor_utils.py │ │ └── welford.py │ ├── optim/ │ │ ├── __init__.py │ │ ├── adagrad_rmsprop.py │ │ ├── clipped_adam.py │ │ ├── dct_adam.py │ │ ├── horovod.py │ │ ├── lr_scheduler.py │ │ ├── multi.py │ │ ├── optim.py │ │ └── pytorch_optimizers.py │ ├── params/ │ │ ├── __init__.py │ │ └── param_store.py │ ├── poutine/ │ │ ├── __init__.py │ │ ├── block_messenger.py │ │ ├── broadcast_messenger.py │ │ ├── collapse_messenger.py │ │ ├── condition_messenger.py │ │ ├── do_messenger.py │ │ ├── enum_messenger.py │ │ ├── equalize_messenger.py │ │ ├── escape_messenger.py │ │ ├── guide.py │ │ ├── handlers.py │ │ ├── indep_messenger.py │ │ ├── infer_config_messenger.py │ │ ├── lift_messenger.py │ │ ├── markov_messenger.py │ │ ├── mask_messenger.py │ │ ├── messenger.py │ │ ├── plate_messenger.py │ │ ├── reentrant_messenger.py │ │ ├── reparam_messenger.py │ │ ├── replay_messenger.py │ │ ├── runtime.py │ │ ├── scale_messenger.py │ │ ├── seed_messenger.py │ │ ├── subsample_messenger.py │ │ ├── substitute_messenger.py │ │ ├── trace_messenger.py │ │ ├── trace_struct.py │ │ ├── uncondition_messenger.py │ │ └── util.py │ ├── primitives.py │ ├── py.typed │ ├── settings.py │ └── util.py ├── scripts/ │ ├── install_pytorch.sh │ ├── perf_test.sh │ ├── profile_model.sh │ ├── update_headers.py │ └── update_version.py ├── setup.cfg ├── setup.py ├── tests/ │ ├── README.md │ ├── __init__.py │ ├── common.py │ ├── conftest.py │ ├── contrib/ │ │ ├── __init__.py │ │ ├── autoname/ │ │ │ ├── test_autoname.py │ │ │ ├── test_named.py │ │ │ └── test_scoping.py │ │ ├── bnn/ │ │ │ └── test_hidden_layer.py │ │ ├── cevae/ │ │ │ └── test_cevae.py │ │ ├── conftest.py │ │ ├── easyguide/ │ │ │ └── test_easyguide.py │ │ ├── epidemiology/ │ │ │ ├── __init__.py │ │ │ ├── test_distributions.py │ │ │ ├── test_models.py │ │ │ ├── test_quant.py │ │ │ └── test_util.py │ │ ├── forecast/ │ │ │ ├── __init__.py │ │ │ ├── test_evaluate.py │ │ │ ├── test_forecaster.py │ │ │ └── test_util.py │ │ ├── funsor/ │ │ │ ├── conftest.py │ │ │ ├── test_enum_funsor.py │ │ │ ├── test_infer_discrete.py │ │ │ ├── test_named_handlers.py │ │ │ ├── test_pyroapi_funsor.py │ │ │ ├── test_tmc.py │ │ │ ├── test_valid_models_enum.py │ │ │ ├── test_valid_models_plate.py │ │ │ ├── test_valid_models_sequential_plate.py │ │ │ └── test_vectorized_markov.py │ │ ├── gp/ │ │ │ ├── __init__.py │ │ │ ├── test_conditional.py │ │ │ ├── test_kernels.py │ │ │ ├── test_likelihoods.py │ │ │ ├── test_models.py │ │ │ └── test_parameterized.py │ │ ├── mue/ │ │ │ ├── test_dataloaders.py │ │ │ ├── test_missingdatahmm.py │ │ │ ├── test_models.py │ │ │ └── test_statearrangers.py │ │ ├── oed/ │ │ │ ├── test_ewma.py │ │ │ ├── test_finite_spaces_eig.py │ │ │ ├── test_glmm.py │ │ │ ├── test_linear_models_eig.py │ │ │ └── test_xexpx.py │ │ ├── randomvariable/ │ │ │ └── test_random_variable.py │ │ ├── test_hessian.py │ │ ├── test_minipyro.py │ │ ├── test_util.py │ │ ├── test_zuko.py │ │ ├── timeseries/ │ │ │ ├── test_gp.py │ │ │ └── test_lgssm.py │ │ └── tracking/ │ │ ├── __init__.py │ │ ├── test_assignment.py │ │ ├── test_distributions.py │ │ ├── test_dynamic_models.py │ │ ├── test_ekf.py │ │ ├── test_em.py │ │ ├── test_hashing.py │ │ └── test_measurements.py │ ├── distributions/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── dist_fixture.py │ │ ├── test_binomial.py │ │ ├── test_categorical.py │ │ ├── test_coalescent.py │ │ ├── test_conjugate.py │ │ ├── test_conjugate_update.py │ │ ├── test_constraints.py │ │ ├── test_cuda.py │ │ ├── test_delta.py │ │ ├── test_distributions.py │ │ ├── test_empirical.py │ │ ├── test_extended.py │ │ ├── test_gaussian_mixtures.py │ │ ├── test_grouped_normal_normal.py │ │ ├── test_haar.py │ │ ├── test_hmm.py │ │ ├── test_ig.py │ │ ├── test_improper_uniform.py │ │ ├── test_independent.py │ │ ├── test_kl.py │ │ ├── test_lkj.py │ │ ├── test_log_normal_negative_binomial.py │ │ ├── test_lowrank_mvn.py │ │ ├── test_mask.py │ │ ├── test_mixture.py │ │ ├── test_mvn.py │ │ ├── test_mvt.py │ │ ├── test_nanmasked.py │ │ ├── test_omt_mvn.py │ │ ├── test_one_hot_categorical.py │ │ ├── test_one_one_matching.py │ │ ├── test_one_two_matching.py │ │ ├── test_ordered_logistic.py │ │ ├── test_pickle.py │ │ ├── test_polya_gamma.py │ │ ├── test_projected_normal.py │ │ ├── test_rejector.py │ │ ├── test_relaxed_straight_through.py │ │ ├── test_reshape.py │ │ ├── test_shapes.py │ │ ├── test_sine_bivariate_von_mises.py │ │ ├── test_sine_skewed.py │ │ ├── test_spanning_tree.py │ │ ├── test_stable.py │ │ ├── test_stable_log_prob.py │ │ ├── test_tensor_type.py │ │ ├── test_torch_patch.py │ │ ├── test_transforms.py │ │ ├── test_unit.py │ │ ├── test_util.py │ │ ├── test_von_mises.py │ │ ├── test_zero_inflated.py │ │ └── testing/ │ │ ├── test_gof.py │ │ └── test_special.py │ ├── doctest_fixtures.py │ ├── infer/ │ │ ├── __init__.py │ │ ├── autoguide/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── test_gaussian.py │ │ │ ├── test_inference.py │ │ │ └── test_mean_field_entropy.py │ │ ├── conftest.py │ │ ├── enum_growth.ipynb │ │ ├── mcmc/ │ │ │ ├── __init__.py │ │ │ ├── test_adaptation.py │ │ │ ├── test_hmc.py │ │ │ ├── test_mcmc_api.py │ │ │ ├── test_mcmc_util.py │ │ │ ├── test_nuts.py │ │ │ ├── test_rwkernel.py │ │ │ └── test_valid_models.py │ │ ├── reparam/ │ │ │ ├── __init__.py │ │ │ ├── test_conjugate.py │ │ │ ├── test_discrete_cosine.py │ │ │ ├── test_haar.py │ │ │ ├── test_hmm.py │ │ │ ├── test_loc_scale.py │ │ │ ├── test_neutra.py │ │ │ ├── test_projected_normal.py │ │ │ ├── test_softmax.py │ │ │ ├── test_split.py │ │ │ ├── test_stable.py │ │ │ ├── test_strategies.py │ │ │ ├── test_structured.py │ │ │ ├── test_studentt.py │ │ │ ├── test_transform.py │ │ │ ├── test_unit_jacobian.py │ │ │ └── util.py │ │ ├── test_abstract_infer.py │ │ ├── test_autoguide.py │ │ ├── test_compute_downstream_costs.py │ │ ├── test_conjugate_gradients.py │ │ ├── test_csis.py │ │ ├── test_discrete.py │ │ ├── test_elbo_mapdata.py │ │ ├── test_enum.py │ │ ├── test_gradient.py │ │ ├── test_inference.py │ │ ├── test_initialization.py │ │ ├── test_inspect.py │ │ ├── test_jit.py │ │ ├── test_multi_sample_elbos.py │ │ ├── test_predictive.py │ │ ├── test_resampler.py │ │ ├── test_sampling.py │ │ ├── test_smcfilter.py │ │ ├── test_svgd.py │ │ ├── test_tmc.py │ │ ├── test_util.py │ │ └── test_valid_models.py │ ├── integration_tests/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_conjugate_gaussian_models.py │ │ └── test_tracegraph_elbo.py │ ├── nn/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_autoregressive.py │ │ └── test_module.py │ ├── ops/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── einsum/ │ │ │ ├── conftest.py │ │ │ ├── test_adjoint.py │ │ │ └── test_torch_log.py │ │ ├── gamma_gaussian.py │ │ ├── gaussian.py │ │ ├── test_arrowhead.py │ │ ├── test_contract.py │ │ ├── test_gamma_gaussian.py │ │ ├── test_gaussian.py │ │ ├── test_indexing.py │ │ ├── test_integrator.py │ │ ├── test_jit.py │ │ ├── test_linalg.py │ │ ├── test_newton.py │ │ ├── test_packed.py │ │ ├── test_provenance.py │ │ ├── test_special.py │ │ ├── test_ssm_gp.py │ │ ├── test_stats.py │ │ ├── test_streaming.py │ │ ├── test_tensor_utils.py │ │ └── test_welford.py │ ├── optim/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_multi.py │ │ └── test_optim.py │ ├── params/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_module.py │ │ └── test_param.py │ ├── perf/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ └── test_benchmark.py │ ├── poutine/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_counterfactual.py │ │ ├── test_mapdata.py │ │ ├── test_nesting.py │ │ ├── test_poutines.py │ │ ├── test_properties.py │ │ ├── test_runtime.py │ │ └── test_trace_struct.py │ ├── pyroapi/ │ │ ├── conftest.py │ │ └── test_pyroapi.py │ ├── test_examples.py │ ├── test_generic.py │ ├── test_primitives.py │ ├── test_settings.py │ └── test_util.py └── tutorial/ ├── Makefile ├── README.md └── source/ ├── RSA-hyperbole.ipynb ├── RSA-implicature.ipynb ├── _static/ │ ├── css/ │ │ └── pyro.css │ └── img/ │ └── dmm.tex ├── air.ipynb ├── autoname_examples.rst ├── baseball.rst ├── bayesian_regression.ipynb ├── bayesian_regression_ii.ipynb ├── bo.ipynb ├── boosting_bbvi.ipynb ├── capture_recapture.rst ├── cevae.rst ├── cleannb.py ├── conf.py ├── contrib_funsor_intro_i.ipynb ├── contrib_funsor_intro_ii.ipynb ├── csis.ipynb ├── custom_objectives.ipynb ├── cvae.ipynb ├── dirichlet_process_mixture.ipynb ├── dkl.rst ├── dmm.ipynb ├── easyguide.ipynb ├── effect_handlers.ipynb ├── einsum.rst ├── ekf.ipynb ├── elections.ipynb ├── enumeration.ipynb ├── epi_intro.ipynb ├── epi_regional.rst ├── epi_sir.rst ├── forecast_simple.rst ├── forecasting_dlm.ipynb ├── forecasting_i.ipynb ├── forecasting_ii.ipynb ├── forecasting_iii.ipynb ├── gmm.ipynb ├── gp.ipynb ├── gplvm.ipynb ├── hmm.rst ├── hmm_funsor.rst ├── inclined_plane.rst ├── index.rst ├── intro_long.ipynb ├── intro_part_i.ipynb ├── intro_part_ii.ipynb ├── jit.ipynb ├── lda.rst ├── lkj.rst ├── logistic-growth.ipynb ├── mcmc.rst ├── minipyro.rst ├── mixed_hmm.rst ├── mle_map.ipynb ├── model_rendering.ipynb ├── modules.ipynb ├── mue_factor.rst ├── mue_profile.rst ├── neutra.rst ├── normalizing_flows_intro.ipynb ├── predictive_deterministic.ipynb ├── prior_predictive.ipynb ├── prodlda.ipynb ├── reconciling_experts.ipynb ├── scanvi.ipynb ├── search_inference.py ├── sir_hmc.rst ├── smcfilter.rst ├── sparse_gamma.rst ├── sparse_regression.rst ├── ss-vae.ipynb ├── stable.ipynb ├── svi_flow_guide.ipynb ├── svi_horovod.rst ├── svi_lightning.rst ├── svi_part_i.ipynb ├── svi_part_ii.ipynb ├── svi_part_iii.ipynb ├── svi_part_iv.ipynb ├── svi_torch.rst ├── tensor_shapes.ipynb ├── timeseries.rst ├── toy_mixture_model_discrete_enumeration.rst ├── tracking_1d.ipynb ├── vae.ipynb ├── vae_flow_prior.ipynb ├── workflow.ipynb └── working_memory.ipynb