Features
User Friendly
Clean specification of probabilistic models and inference constraints.
Streaming Datasets
Reactive message passing-based inference for streaming datasets.
Hybrid Models
Support for hybrid models combining discrete and continuous latent variables.
Scalable
Scalability for large models with millions of parameters and observations.
Extensible
Designed to be extended with custom operations.
Differentiable
Supports automatic differentiation packages for parameter tuning.
Hello RxInfer!
RxInfer.jl is a Julia package that aims to automate inference in your probabilistic models. Specify your model, call the inference function, and the package takes care of the rest. Take a look how simple it is to specify a linear state space model and to run inference in it!
Get started now
@model function SSM(x0, y, A, B, Q, P)
# `~` expression creates a probabilistic relationship
# between random variables
x_prior ~ x0
x_prev = x_prior
# Build the state-space model
for i in eachindex(y)
x[i] ~ MvNormal(μ = A * x_prev, Σ = Q)
y[i] ~ MvNormal(μ = B * x[i], Σ = P)
x_prev = x[i]
end
end
observations = load_dataset()
result = infer(
model = SSM(x0 = prior_x, A = A, B = B, Q = Q, P = P),
data = (y = observations,)
)
RxInfer is fast
RxInfer exploits the modularity of factor graphs to perform fast message passing-based probabilistic inference that scales linearly with the size of your model. We generally outperform state-of-the-art sampling-based packages by several orders of magnitude. The efficiency of RxInfer makes it easier to process streaming data sources in real time.
Check out some examplesSolve complex problems
Track hidden states of a dynamic system in real-time
Unveil real-time insights into dynamic systems with our software's prowess in tracking hidden states. By providing continuous monitoring and analysis, our tool empowers you to gain a deeper understanding of complex processes, enabling informed decision-making and proactive responses.
Smart navigation and collision avoidance
Stay in control, prevent collisions, and streamline routes effortlessly with RxInfer. Streamline your navigation experience and enhance safety.
Reactive reasoning and decision making with Active Inference framework
Enhance your decision-making process with the Active Inference framework. Designed to help you analyze incoming information in real-time, this tool enables you to make well-informed choices and adapt to changing situations effectively.
Watch our talk!
RxInfer has been presented on the JuliaCon 2023, the biggest conference of Julia developers. Check out our video!
Watch our presentation on JuliaConCommunity videos
Fast Bayesian Inference with RxInfer.jl
Intro to RxInfer by Doggo.jl
Variational inference with RxInfer by Doggo.jl
Active Inference Symposium
Ecosystem
The RxInfer ecosystem stacks several Julia packages for running efficient Bayesian inference.