nflows 、Pytorchを使用した正規化フローの包括的なコレクションです。
Pypiからインストールするには:
python -m pip install nflows
プロジェクトディレクトリの実行から、 pixiを使用してプロジェクトにnflowsインストールして追加するには
pixi add nflows
そして、アクティブ化された環境で実行されたcondaを使用して特定のコンドラ環境にインストールするために
conda install --channel conda-forge nflows
フローを定義するには:
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 )入力のログ確率を評価するには:
log_prob = flow . log_prob ( inputs )フローからサンプリングするには:
samples = flow . sample ( num_samples )ワークフローの追加の例は、例フォルダーに記載されています。
開発のためのすべての依存関係をインストールするには:
pip install -r requirements.txt
パッケージを引用するには:
@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 }
}バージョン番号は、 nflows/version.pyのものであることを目的としています。年/月はリリースの日付に対応しています。他のバージョンのBibtexエントリは、Zenodoで見つけることができます。
特にスプラインベースのフローを使用している場合は、神経スプラインフロー紙を引用することを検討してください:[bibtex]。
nflowsは、元々公開されたBayesiains/NSFから派生しています
C. Durkan、A。Bekasov、I。Murray、G。Papamakarios、 Neural Spline Flows 、Neurips 2019。[arxiv] [bibtex]
nflowsが使用されています
コナー・ダーカン、イアン・マレー、ジョージ・パパマカリオス、尤度なしの推論のための対照的な学習、ICML 2020。[arxiv]。
Iain MurrayのArtur Bekasov、ネストされたドロップアウト正規化フローを備えた寸法を注文します。 [arxiv]。
ティム・ドックホーン、ジェームズ・A・リッチー、ヤオリリアン・ユ、イアン・マレー、正規化フローを伴う密度デコンボリューション。 [arxiv]。
nflows 、条件付き密度推定パッケージPyknos、および尤度なしの推論フレームワークSBIによって使用されます。