Repository navigation
v0.20.2
PyPI: https://pypi.org/project/nbn/0.20.2/
pip install -U nbn # the library
pip install -U "nbn[all]" # everything a benchmark run needs, then: nbn-bench check-envChanges since v0.20.1
Two benchmark fixes and the partial reruns for them (#294). The library itself is unchanged.
Benchmark suite
- pgmpy linear-Gaussian in parameter learning. The learning configs declared the baseline with
param_method: mle, which built a second copy of the discretepgmpy-mle, so the linear-Gaussian model never ran and the continuous families had no external baseline. The line is nowparam_method: lg(labelpgmpy-lg), and the pgmpy adapter scores a fitted linear-Gaussian network: held-out log-likelihood and calibration (PIT-KS, SD-ratio). - Evidence-free batches are answered once. A batch whose queries have no observed evidence is one marginal query; the nbn adapter answered it with B sequential calls, so the time per query was flat in the batch size. It is now answered once per batch.
Reruns for results made with <= v0.20.1
nbn/bench/configs/synthetic/reruns/ (see docs/BENCHMARKS.md):
nbn-bench inference --config nbn/bench/configs/synthetic/reruns/batch_speed_nbn.yaml
nbn-bench param-learning --config nbn/bench/configs/synthetic/reruns/param_learning_pgmpy_lg.yaml
nbn-bench param-learning --config nbn/bench/configs/synthetic/reruns/learning_curves_pgmpy_lg.yaml
nbn-bench merge <original run dir> <rerun dir> -o <merged>.parquetBenchmark results (2026-10-08)
final_results.zip (31 MB, attached below) holds the merged results of every paper-scale benchmark run with this version: synthetic inference (synthetic_complete), scalability, batch speed, bnlearn networks, parameter learning and learning curves. Each group has one <group>_metrics.parquet (the base run with the partial reruns spliced in via nbn-bench merge) plus the nbn-bench plot figures and LaTeX tables; paper_panels/ and paper_panels_all_methods/ are the multi-panel figures from nbn-bench paper. The README.md inside lists the source runs and the exact commands to regenerate every figure and table from the parquets.