What is RxInfer.jl?
mainRxInfer.jl is a Julia package designed for real-time, variational Bayesian inference on infinite asynchronous data streams. It uses a reactive message passing paradigm on a factor graph representation of probabilistic models.
Key capabilities include:
- Hybrid Inference Engine: Combines different message passing methods (e.g., belief propagation, expectation propagation, mean-field variational message passing) at different locations in the graph to trade off accuracy for speed.
- Model Specification: Uses Julia macros to transform textual model descriptions into factor graphs.
- Scalability: Supports both real-time stream processing and batch processing of large datasets with hundreds of thousands of latent variables.
- Extensibility: Provides a public API to add custom nodes and message update rules.
- Auto-differentiation: Compatible with
ForwardDiff.jlandReverseDiff.jl.