nflows ist eine umfassende Sammlung von Normalisierungsströmen mit Pytorch.
Von PYPI zu installieren:
python -m pip install nflows
So installieren und hinzufügen nflows zu einem Projekt mit pixi aus dem Projektverzeichnislauf
pixi add nflows
und in eine bestimmte Konda -Umgebung mit conda im aktivierten Umfeld zu installieren
conda install --channel conda-forge nflows
Einen Fluss definieren:
from nflows import transforms , distributions , flows
# Define an invertible transformation.
transform = transforms . CompositeTransform ([
transforms . MaskedAffineAutoregressiveTransform ( features = 2 , hidden_features = 4 ),
transforms . RandomPermutation ( features = 2 )
])
# Define a base distribution.
base_distribution = distributions . StandardNormal ( shape = [ 2 ])
# Combine into a flow.
flow = flows . Flow ( transform = transform , distribution = base_distribution )Bewertung der Protokollwahrscheinlichkeiten von Eingaben:
log_prob = flow . log_prob ( inputs )Proben Sie aus dem Fluss:
samples = flow . sample ( num_samples )Zusätzliche Beispiele für den Workflow sind in Beispielen der Beispiele enthalten.
So installieren Sie alle Abhängigkeiten für die Entwicklung:
pip install -r requirements.txt
Um das Paket zu zitieren:
@software { nflows ,
author = { Conor Durkan and
Artur Bekasov and
Iain Murray and
George Papamakarios } ,
title = { {nflows}: normalizing flows in {PyTorch} } ,
month = nov,
year = 2020 ,
publisher = { Zenodo } ,
version = { v0.14 } ,
doi = { 10.5281/zenodo.4296287 } ,
url = { https://doi.org/10.5281/zenodo.4296287 }
} Die Versionsnummer soll die von nflows/version.py sein. Das Jahr/Monat entspricht dem Datum der Veröffentlichung. Bibtex -Einträge für andere Versionen finden sich auf Zenodo.
Wenn Sie insbesondere Spline-basierte Flows verwenden, sollten Sie das Papier für neuronale Spline-Flows zitieren: [Bibtex].
nflows stammen aus Bayessiains/NSF mit ursprünglich veröffentlicht mit
C. Durkan, A. Bekasov, I. Murray, G. Papamakarios, Neural Spline Flows , Neurips 2019. [Arxiv] [Bibtex]
nflows wurden in verwendet
Conor Durkan, Iain Murray, George Papamakarios, über kontrastives Lernen für Wahrscheinlichkeitsfreie Inferenz , ICML 2020. [Arxiv].
Artur Bekasov, Iain Murray, der Dimensionen mit verschachtelten Ausfallnormalisierungsströmen bestellt . [Arxiv].
Tim Dockhorn, James A. Ritchie, Yaoliang Yu, Iain Murray, Dichte entfaltet mit Normalisierungsströmen . [Arxiv].
nflows werden durch das Pyknos der bedingten Dichteschätzung verwendet und im Rahmen des Wahrscheinlichkeits-freien Inferenz-Frameworks SBI.