Funsor is a tensor-like library for functions and distributions¶
Funsor Core:
- Operations
- Domains
- Interpretations
- Funsors
- Optimizer
- Adjoint Algorithms
- Sum-Product Algorithms
partial_unroll()partial_sum_product()dynamic_partial_sum_product()modified_partial_sum_product()sum_product()naive_sequential_sum_product()sequential_sum_product()mixed_sequential_sum_product()naive_sarkka_bilmes_product()sarkka_bilmes_product()MarkovProductMetaMarkovProducteager_markov_product()
- Affine Pattern Matching
- Funsor Factory
- Testing Utiltites
xfail_if_not_implemented()xfail_if_not_found()requires_backend()excludes_backend()ActualExpectedid_from_inputs()is_array()assert_close()check_funsor()xfail_param()make_einsum_example()assert_equiv()rand()randint()randn()random_scale_tril()zeros()ones()empty()random_tensor()random_gaussian()random_mvn()make_plated_hmm_einsum()make_chain_einsum()make_hmm_einsum()iter_subsets()DesugarGetitem
- Typing Utiltites
Interfaces:
- Recipes using Funsor
forward_filter_backward_rsample()forward_filter_backward_precondition()- Pyro-Compatible Distributions
- Distribution Funsors
DistributionBetaCauchyChi2BernoulliProbsBernoulliLogitsBinomialCategoricalCategoricalLogitsDeltaDirichletDirichletMultinomialExponentialGammaGammaPoissonGeometricGumbelHalfCauchyHalfNormalLaplaceLogisticLowRankMultivariateNormalMultinomialMultivariateNormalNonreparameterizedBetaNonreparameterizedDirichletNonreparameterizedGammaNonreparameterizedNormalNormalParetoPoissonStudentTUniformVonMises
- Mini-Pyro Interface
- Mini Pyro
Distributionget_param_store()MessengertracereplayblockseedCondIndepStackFramePlateMessengertensor_to_funsor()log_jointapply_stack()sample()param()plate()PyroOptimAdamClippedAdamSVIExpectation()elbo()ELBOTrace_ELBOTraceMeanField_ELBOTraceEnum_ELBOJitJit_ELBOJitTrace_ELBO()JitTraceMeanField_ELBO()JitTraceEnum_ELBO()
- Einsum Interface
- Compiler & Tracer
Tutorials and Examples
- Named tensor notation with funsors (Part 1)
- Example: Adam optimizer
- Example: Discrete HMM
- Example: Switching Linear Dynamical System EEG
- Example: Forward-Backward algorithm
- Example: Kalman Filter
- Example: Mini Pyro
- Example: PCFG
- Example: Biased Kalman Filter
- Example: Switching Linear Dynamical System
- Example: Talbot’s method for numerical inversion of the Laplace transform
- Example: VAE MNIST