nflows - это полная коллекция нормализующих потоков с использованием Pytorch.
Установка из PYPI:
python -m pip install nflows
Чтобы установить и добавить nflows в проект с pixi , от прогона каталога проекта
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 . Год/месяц соответствуют дате выпуска. Записи Bibtex для других версий можно найти на Zenodo.
Если вы используете потоки на основе сплайна, в частности, рассмотрите возможность ссылаться на нейронные сплайны, текущие бумаги: [Bibtex].
nflows получен из Bayesiains/NSF, первоначально опубликованной с
C. Durkan, A. Bekasov, I. Murray, G. Papamakarios, The Neural Spline Plows , Neurips 2019. [Arxiv] [Bibtex]
nflows использовался в
Конор Дюркан, Иэн Мюррей, Джордж Папамакариос, по контрастному обучению для вывода без вероятности , ICML 2020. [Arxiv].
Артур Бекасов, Иэн Мюррей, заказав размеры с вложенным отступлением, нормализующими потоки . [arxiv].
Тим Докхорн, Джеймс А. Ричи, Яолиан Ю, Иэн Мюррей, Деконволюция плотности с нормализующими потоками . [arxiv].
nflows используется в пакете оценки условной плотности Pyknos, и, в свою очередь, в SBI SBI без вероятностного вывода.