Falcon¶
A Python framework for simulation-based inference with adaptive learning.
Falcon enables adaptive learning of complex conditional distributions through a declarative YAML-based approach. Built on PyTorch, Ray, and the sbi library, it provides automatic parallelization and experiment tracking.
Key Features¶
- Declarative Configuration: Define probabilistic models using intuitive YAML syntax
- Automatic Parallelization: Distributed execution via Ray actors
- Adaptive Learning: Sequential neural posterior estimation with importance sampling
- Experiment Tracking: Built-in WandB integration for monitoring training
Quick Example¶
graph:
theta:
evidence: [x]
simulator:
_target_: falcon.contrib.HypercubeMappingPrior
priors:
- ['uniform', -10.0, 10.0]
estimator:
_target_: falcon.contrib.SNPE_A
x:
parents: [theta]
simulator:
_target_: model.Simulator
observed: "./data/obs.npz['x']"
Installation¶
Or install from source:
Next Steps¶
- Getting Started: Walk through your first Falcon project
- Configuration: Learn the YAML configuration format
- API Reference: Explore the Python API