This repository contains the implementation of various types of normalizing flow/ invertible neural networks. In addition, we provide a simple API run, train, and implement new types of normalizing flows. We have implemented the following layers:
- Affine Coupling
- Invertible 1x1
- Neural Spline Flow and Cubic Flow and others. Note, that so implementation's based on other Github repositories and this would be stated in each file.
pip install normflowpy
We have provide only a single example at this stage please see moons notebook
We welcomes contributions from anyone and if you find a bug or have a question, please create a GitHub issue.
[1] Kingma, Durk P., and Prafulla Dhariwal. "Glow: Generative flow with invertible 1x1 convolutions." Advances in neural information processing systems 31 (2018).
[2] Laurent Dinh, David Krueger, and Yoshua Bengio. NICE: nonlinear independent components estimation. In Yoshua Bengio and Yann LeCun, editors, 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Workshop Track Proceedings, 2015.
[3] Andreas Lugmayr, Martin Danelljan, Luc Van Gool, and RaduTimofte.Srflow: Learning the super-resolution space withnormalizing flow. InEuropean Conference on Computer Vision,pages 715–732. Springer, 2020.
[4] Laurent Dinh, Jascha Sohl-Dickstein, and Samy Bengio. Densityestimation using real nvp.arXiv preprint arXiv:1605.08803,2016.
[5] Conor Durkan, Artur Bekasov, Iain Murray, and George Papa-makarios. Cubic-spline flows.arXiv preprint arXiv:1906.02145,2019