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, 신경 스플라인 흐름 , Neurips 2019. [Arxiv] [Bibtex]
nflows 가 사용되었습니다
Conor Durkan, Iain Murray, George Papamakarios, 가능성이없는 추론에 대한 대조적 학습 , ICML 2020. [Arxiv].
Artur Bekasov, Iain Murray, 중첩 된 드롭 아웃 정규화 흐름으로 차원을 주문합니다 . [arxiv].
Tim Dockhorn, James A. Ritchie, Yaoliang Yu, Iain Murray, 정상화 흐름이있는 밀도 디컨 볼 루션 . [arxiv].
nflows 조건부 밀도 추정 패키지 Pyknos에 의해 사용되며, 결과적으로 가능성이없는 추론 프레임 워크 SBI.