Skip to content

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']"
falcon launch --run-dir outputs/run_01

Installation

pip install falcon

Or install from source:

git clone https://github.com/cweniger/falcon.git
cd falcon
pip install -e .

Next Steps