nflows
v0.14
nflows是使用Pytorch的归一流流量的全面集合。
从PYPI安装:
python -m pip install nflows
要使用pixi安装并添加nflows ,从项目目录运行中
pixi add nflows
并在激活的环境中安装与conda的特定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的版本。年度/月对应于发布日期。可以在Zenodo上找到其他版本的Bibtex条目。
如果您特别使用基于样条的流量,请考虑引用神经条件流纸:[Bibtex]。
nflows衍生自最初与
C. Durkan,A。Bekasov,I。Murray,G。Papamakarios, Neural Spline Flow ,Neurips 2019。[Arxiv] [Bibtex]
nflows已在
Conor Durkan,Iain Murray,George Papamakarios,在对比度学习的对比度无推理中,ICML 2020。[Arxiv]。
伊恩·默里(Iain Murray)的Artur Bekasov,以嵌套的辍学量为标准化流量。 [arxiv]。
蒂姆·迪克霍恩( Tim Dockhorn),詹姆斯·A·里奇(James A. [arxiv]。
有条件的密度估计包Pyknos使用了nflows ,进而使用了无似然推理框架SBI。