Skip to content

Commit 976e4cd

Browse files
Added reference to normflows paper on arXiv and updated version
1 parent 04addd9 commit 976e4cd

File tree

4 files changed

+27
-15
lines changed

4 files changed

+27
-15
lines changed

README.md

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,29 @@
44
![unit-tests](https://github.com/VincentStimper/normalizing-flows/actions/workflows/pytest.yaml/badge.svg)
55
![code coverage](https://raw.githubusercontent.com/VincentStimper/normalizing-flows/coverage-badge/coverage.svg?raw=true)
66
[![License: MIT](https://img.shields.io/badge/Licence-MIT-lightgrey)](https://opensource.org/licenses/MIT)
7-
[![PyPI](https://img.shields.io/badge/PyPI-1.6-blue.svg)](https://pypi.org/project/normflows/)
7+
[![arXiv](https://img.shields.io/badge/arXiv-2302.12014-b31b1b.svg)](https://arxiv.org/abs/2302.12014)
8+
[![PyPI](https://img.shields.io/badge/PyPI-1.6.1-blue.svg)](https://pypi.org/project/normflows/)
89
[![Downloads](https://static.pepy.tech/personalized-badge/normflows?period=total&units=international_system&left_color=grey&right_color=orange&left_text=Downloads)](https://pepy.tech/project/normflows)
910

1011

11-
This is a PyTorch implementation of normalizing flows. Many popular flow architectures are implemented,
12+
`normflows` is a PyTorch implementation of discrete normalizing flows. Many popular flow architectures are implemented,
1213
see the [list below](#implemented-flows). The package can be easily [installed via pip](#installation).
1314
The basic usage is described [here](#usage), and a [full documentation](https://vincentstimper.github.io/normalizing-flows/)
14-
is available as well. There are several sample use cases implemented in the
15+
is available as well. A more detailed description of this package is given in out accompanying
16+
[paper](https://arxiv.org/abs/2302.12014).
17+
18+
Several sample use cases are provided in the
1519
[`examples` folder](https://github.com/VincentStimper/normalizing-flows/blob/master/examples),
1620
including [Glow](https://github.com/VincentStimper/normalizing-flows/blob/master/examples/glow.ipynb),
1721
a [VAE](https://github.com/VincentStimper/normalizing-flows/blob/master/examples/vae.py), and
1822
a [Residual Flow](https://github.com/VincentStimper/normalizing-flows/blob/master/examples/residual.ipynb).
23+
Moreover, two simple applications are highlighed in the [examples section](#examples). You can run them
24+
yourself in Google Colab using the links below to get a feeling for `normflows`.
25+
26+
| Link | Description |
27+
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
28+
| <a href="https://colab.research.google.com/github/VincentStimper/normalizing-flows/blob/master/examples/real_nvp_colab.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a> | Real NVP applied to a 2D bimodal target distribution |
29+
| <a href="https://colab.research.google.com/github/VincentStimper/normalizing-flows/blob/master/examples/paper_example_nsf_colab.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a> | Modeling a distribution on a cylinder surface with a neural spline flow |
1930

2031

2132
## Implemented Flows
@@ -153,7 +164,7 @@ Note that there might be a density filament connecting the two modes, which is d
153164
of normalizing flows, especially prominent in Real NVP. You can find out more about it in
154165
[this paper](https://proceedings.mlr.press/v151/stimper22a).
155166

156-
### Distribution on a cylinder surface
167+
### Modeling a distribution on a cylinder surface with a neural spline flow
157168

158169
<a href="https://colab.research.google.com/github/VincentStimper/normalizing-flows/blob/master/examples/paper_example_nsf_colab.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
159170

@@ -163,7 +174,7 @@ as well, we apply a Neural Spline Flow model to a distribution defined on a cyli
163174

164175
![Neural Spline Flow applied to target distribution on a cylinder](https://raw.githubusercontent.com/VincentStimper/normalizing-flows/master/figures/nsf_cylinder_3d.png)
165176

166-
This example is considered in the [paper](https://github.com/VincentStimper/normalizing-flows/blob/master/paper/paper.md) accompanying this repository.
177+
This example is considered in the [paper](https://arxiv.org/abs/2302.12014) accompanying this repository.
167178

168179
## Used by
169180

@@ -192,20 +203,19 @@ has been build upon `normflows`.
192203

193204
## Citation
194205

195-
If you use `normflows`, please consider citing it as follows.
206+
If you use `normflows`, please consider citing the [corresponding paper](https://arxiv.org/abs/2302.12014) as follows.
196207

197-
> Vincent Stimper, David Liu, Andrew Campbell, Vincent Berenz, Lukas Ryll, Bernhard Schölkopf, José Miguel Hernández-Lobato:
198-
> normflows: A PyTorch Package for Normalizing Flows,
199-
> [https://github.com/VincentStimper/normalizing-flows](https://github.com/VincentStimper/normalizing-flows), 2023.
208+
> Vincent Stimper, David Liu, Andrew Campbell, Vincent Berenz, Lukas Ryll, Bernhard Schölkopf, José Miguel Hernández-Lobato.
209+
> normflows: A PyTorch Package for Normalizing Flows, arXiv preprint arXiv:2302.12014, 2023.
200210
201211
**Bibtex**
202212

203213
```
204-
@software{normflows,
214+
@article{normflows,
205215
author = {Vincent Stimper and David Liu and Andrew Campbell and Vincent Berenz and Lukas Ryll and Bernhard Sch{\"o}lkopf and Jos{\'e} Miguel Hern{\'a}ndez-Lobato},
206216
title = {normflows: {A} {P}y{T}orch {P}ackage for {N}ormalizing {F}lows},
207-
year = {2023},
208-
url = {https://github.com/VincentStimper/normalizing-flows}
217+
journal = {arXiv preprint arXiv:2302.12014},
218+
year = {2023}
209219
}
210220
```
211221

examples/paper_example_nsf_colab.ipynb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
"id": "a3f13738",
2222
"metadata": {},
2323
"source": [
24-
"We aim to approximate a distribution having as circular and a normal coordinate. To construct such a case, let $x$ be the normal (unbound) coordinate follow a standard normal distribution, i.e. \n",
24+
"This is the example we consider in our [paper](https://arxiv.org/abs/2302.12014) about the `normflows` package.\n",
25+
"\n",
26+
"We aim to approximate a distribution having as circular and a normal coordinate. To construct such a case, let $x$ be the normal (unbound) coordinate follow a standard normal distribution, i.e.\n",
2527
"$$ p(x) = \\frac{1}{\\sqrt{2\\pi}} e^{-\\frac{1}{2} x ^ 2}.$$\n",
2628
"The circular random variable $\\phi$ follows a [von Mises distribution](https://en.wikipedia.org/wiki/Von_Mises_distribution) given by\n",
2729
"$$ p(\\phi|x) = \\frac{1}{2\\pi I_0(1)} e^{\\cos(\\phi-\\mu(x))}, $$\n",

normflows/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
from . import sampling
1111
from .sampling import HAIS
1212

13-
__version__ = "1.6"
13+
__version__ = "1.6.1"

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from codecs import open
33
from os import path
44

5-
__version__ = "1.6"
5+
__version__ = "1.6.1"
66

77
here = path.abspath(path.dirname(__file__))
88

0 commit comments

Comments
 (0)