nflows
awesome-normalizing-flows
nflows | awesome-normalizing-flows | |
---|---|---|
2 | 1 | |
805 | 1,302 | |
1.5% | - | |
3.2 | 3.1 | |
6 months ago | 26 days ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nflows
-
[P] Zuko, a fresh approach to normalizing flows in PyTorch
Normalizing flows (NFs) are very useful tools to build and train expressive parametric distributions. There exists a few libraries for NFs in PyTorch such as nflows, FrEIA and FlowTorch but, in my opinion, their complex APIs and the lack of documentation (except for FrEIA) makes them hard to approach. I initially planned on contributing to their repositories as they did not implement some architectures like neural autoregressive flow, unconstrained monotonic neural networks, sum-of-square polynomial flow or continuous normalizing flow. Unfortunately, none of the libraries seemed under active development anymore at the time.
-
[D] Normalizing flows for distributions with finit support
You can just start from a uniform distribution in [0,1]D and use a mapping with a finite domain/reach. One example would be a spline (see 1906.04032, or here https://github.com/bayesiains/nflows).
awesome-normalizing-flows
-
[D] Understanding Generative Flow
I would recommend this list of resources on github to get you started. In particular, I highly recommend this lecture by Marcus Brubaker et al which explains the essential components that you need: linear transformations, coupling layers and the multiscale architecture.
What are some alternatives?
zuko - Normalizing flows in PyTorch
PyMC - Bayesian Modeling and Probabilistic Programming in Python
benchmark_VAE - Unifying Variational Autoencoder (VAE) implementations in Pytorch (NeurIPS 2022)
autoregressive - :kiwi_fruit: Autoregressive Models in PyTorch.
cflow-ad - Official PyTorch code for WACV 2022 paper "CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows"
InvertibleNetworks.jl - A Julia framework for invertible neural networks
FrEIA - Framework for Easily Invertible Architectures
vbmc - Variational Bayesian Monte Carlo (VBMC) algorithm for posterior and model inference in MATLAB
flowtorch - This library would form a permanent home for reusable components for deep probabilistic programming. The library would form and harness a community of users and contributors by focusing initially on complete infra and documentation for how to use and create components.
Tensorflow-iOS
pyro - Deep universal probabilistic programming with Python and PyTorch