Normalizing Flows
This is a PyTorch implementation of several normalizing flows, including a variational autoencoder. It is used in the articles A Gradient Based Strategy for Hamiltonian Monte Carlo Hyperparameter Optimization and Resampling Base Distributions of Normalizing Flows.
Implemented Flows
- Planar Flow (Rezende & Mohamed, 2015)
- Radial Flow (Rezende & Mohamed, 2015)
- NICE (Dinh et al., 2014)
- Real NVP (Dinh et al., 2016)
- Glow (Kingma & Dhariwal, 2018)
- Neural Spline Flow (Durkan et al., 2019)
- Residual Flow (Chen et al., 2019)
- Stochastic Normalizing Flows (Wu et al., 2020)
Methods of Installation
The latest version of the package can be installed via pip
pip install --upgrade git+https://github.com/VincentStimper/normalizing-flows.git
If you want to use a GPU, make sure that PyTorch is set up correctly by by following the instructions at the PyTorch website.
To run the example notebooks clone the repository first
git clone https://github.com/VincentStimper/normalizing-flows.git
and then install the dependencies.
pip install -r requirements_examples.txt