https://github.com/mackelab/sbi
There is a class of simulation-based inference models called sbi. They are slightly different than swyft. Their programs are summarized as (prior, simulator, num_samples, observation) -> posterior. Whereas in swyft, we do (prior, simulator, num_samples, observation) -> {marginal_posterior} where swyft provides a set of marginal posteriors.
In the discussion I suggested a fundamental division between parts in our design goals for swyft. This is to separate the task (simulator, prior) from the algorithm (targeted marginals, network architecture, training details). We also care about coverage / metrics / plotting, that would be another arm. My opinion is that these pieces should be composable.
This division is inspired by a use case of sbi which is the application of sbi to a benchmark of tasks called sbibm.
https://github.com/mackelab/sbi There is a class of simulation-based inference models called sbi. They are slightly different than swyft. Their programs are summarized as (prior, simulator, num_samples, observation) -> posterior. Whereas in swyft, we do (prior, simulator, num_samples, observation) -> {marginal_posterior} where swyft provides a set of marginal posteriors. In the discussion I suggested a fundamental division between parts in our design goals for swyft. This is to separate the task (simulator, prior) from the algorithm (targeted marginals, network architecture, training details). We also care about coverage / metrics / plotting, that would be another arm. My opinion is that these pieces should be composable. This division is inspired by a use case of sbi which is the application of sbi to a benchmark of tasks called sbibm.