Skip to content

Commit

Permalink
v1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
janosh committed Jul 20, 2023
1 parent 1545b80 commit 343b142
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 35 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/generate-readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: "3.11"

- name: Install dependencies
run: pip install pyyaml
Expand Down
18 changes: 9 additions & 9 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ default_stages: [commit]
default_install_hook_types: [pre-commit, commit-msg]

repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.0.260
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.0.278
hooks:
- id: ruff
args: [--fix, --select, ALL, --ignore, 'ERA,INP,C408,PTH,S,T201,D203,D211,D212']
args: [--fix, --select, ALL, --ignore, 'INP,C408,PTH,S,T201']

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
Expand All @@ -26,30 +26,30 @@ repos:
- id: trailing-whitespace

- repo: https://github.com/psf/black
rev: 23.3.0
rev: 23.7.0
hooks:
- id: black

- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.33.0
rev: v0.35.0
hooks:
- id: markdownlint
# MD013: line length
# MD033: no inline HTML
# MD041: first line in a file should be a top-level heading
args: [--disable, MD013, MD033, MD041, '--']
args: [--disable, MD013, MD033, MD041, "--"]

- repo: local
hooks:
- id: no-bracket-links
name: 'Brackets should not be inside links [[link]](url) -> [[link](url)]'
name: "Brackets should not be inside links [[link]](url) -> [[link](url)]"
entry: '\]\]\('
language: pygrep
types: [markdown]

- id: no-http
name: URLs must use HTTPS
entry: 'http:'
entry: "http:"
language: pygrep
types_or: [markdown, yaml]
exclude: .pre-commit-config.yaml
Expand All @@ -62,7 +62,7 @@ repos:
exclude_types: [python]

- repo: https://github.com/codespell-project/codespell
rev: v2.2.4
rev: v2.2.5
hooks:
- id: codespell
stages: [commit, commit-msg]
Expand Down
22 changes: 11 additions & 11 deletions data/make_readme.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ class Section(TypedDict):
markdown: str


titles = dict(
publications="## 📝 Publications",
applications="## 🛠️ Applications",
videos="## 📺 Videos",
packages="## 📦 Packages",
repos="## 🧑‍💻 Repos",
posts="## 🌐 Blog Posts",
)
titles = {
"publications": "## 📝 Publications",
"applications": "## 🛠️ Applications",
"videos": "## 📺 Videos",
"packages": "## 📦 Packages",
"repos": "## 🧑‍💻 Repos",
"posts": "## 🌐 Blog Posts",
}


def load_items(key: str) -> list[Item]:
Expand All @@ -49,7 +49,7 @@ def load_items(key: str) -> list[Item]:


sections: dict[str, Section] = {
key: dict(title=titles[key], items=load_items(key), markdown="")
key: {"title": titles[key], "items": load_items(key), "markdown": ""}
for key in titles # markdown is set below
}

Expand Down Expand Up @@ -114,7 +114,7 @@ def validate_item(itm: Item, section_title: str) -> None:
section["items"].sort(key=lambda itm: lang_names.index(itm["lang"]))

# add item count after section title
# section["markdown"] += f"\n\n{len(section['items'])} items\n\n"
section["markdown"] += f" <small>({len(section['items'])})</small>\n\n"

for itm in section["items"]:
if (lang := itm.get("lang")) in lang_names:
Expand Down Expand Up @@ -167,7 +167,7 @@ def validate_item(itm: Item, section_title: str) -> None:

for section in sections.values():
# look ahead without matching
section_start_pat = f"(?<={section['title']}\n\n)"
section_start_pat = f"(?<={section['title']})"
# look behind without matching
next_section_pat = "(?=<br>\n\n## )"

Expand Down
28 changes: 14 additions & 14 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<h1 align="center">
Awesome Normalizing Flows
Awesome Normalizing Flows
</h1>

<h4 align="center">
Expand All @@ -25,25 +25,25 @@ A list of awesome resources for understanding and applying normalizing flows (NF

## <img src="assets/toc.svg" alt="Contents" height="18px"> &nbsp;Table of Contents

1. [📝 Publications](#-publications)
1. [🛠️ Applications](#️-applications)
1. [📺 Videos](#-videos)
1. [📦 Packages](#-packages)
1. [📝 Publications](#-publications-57)
1. [🛠️ Applications](#️-applications-8)
1. [📺 Videos](#-videos-8)
1. [📦 Packages](#-packages-13)
1. [<img src="assets/pytorch.svg" alt="PyTorch" height="20px"> &nbsp;PyTorch Packages](#-pytorch-packages)
1. [<img src="assets/tensorflow.svg" alt="TensorFlow" height="20px"> &nbsp;TensorFlow Packages](#-tensorflow-packages)
1. [<img src="assets/jax.svg" alt="JAX" height="15px"> &nbsp;JAX Packages](#-jax-packages)
1. [<img src="assets/julia.svg" alt="Julia" height="15px"> &nbsp;Julia Packages](#-julia-packages)
1. [🧑‍💻 Repos](#-repos)
1. [🧑‍💻 Repos](#-repos-18)
1. [<img src="assets/pytorch.svg" alt="PyTorch" height="20px"> &nbsp;PyTorch Repos](#-pytorch-repos)
1. [<img src="assets/jax.svg" alt="JAX" height="15px"> &nbsp;JAX Repos](#-jax-repos)
1. [<img src="assets/tensorflow.svg" alt="TensorFlow" height="20px"> &nbsp;TensorFlow Repos](#-tensorflow-repos)
1. [<img src="assets/other.svg" alt="Other" height="15px"> &nbsp;Other Repos](#-other-repos)
1. [🌐 Blog Posts](#-blog-posts)
1. [🌐 Blog Posts](#-blog-posts-5)
1. [🚧 Contributing](#-contributing)

<br>

## 📝 Publications
## 📝 Publications <small>(57)</small>

1. 2023-01-03 - [FInC Flow: Fast and Invertible k×k Convolutions for Normalizing Flows](https://arxiv.org/abs/2301.09266) by Kallapa, Nagar et al.<br>
propose a k×k convolutional layer and Deep Normalizing Flow architecture which i) has a fast parallel inversion algorithm with running time O(nk^2) (n is height and width of the input image and k is kernel size), ii) masks the minimal amount of learnable parameters in a layer. iii) gives better forward pass and sampling times comparable to other k×k convolution-based models on real-world benchmarks. We provide an implementation of the proposed parallel algorithm for sampling using our invertible convolutions on GPUs. [[Code](https://github.com/aditya-v-kallappa/FInCFlow)]
Expand Down Expand Up @@ -241,7 +241,7 @@ A list of awesome resources for understanding and applying normalizing flows (NF

<br>

## 🛠️ Applications
## 🛠️ Applications <small>(8)</small>

1. 2020-12-06 - [Normalizing Kalman Filters for Multivariate Time Series Analysis](https://assets.amazon.science/ea/0c/88b7bdd54eae8c08983fa4cc3e06/normalizing-kalman-filters-for-multivariate-time-series-analysis.pdf) by Bézenac, Rangapuram et al.<br>
Augments state space models with normalizing flows and thereby mitigates imprecisions stemming from idealized assumptions. Aimed at forecasting real-world data and handling varying levels of missing data. (Also available at [Amazon Science](https://amazon.science/publications/normalizing-kalman-filters-for-multivariate-time-series-analysis).)
Expand Down Expand Up @@ -269,7 +269,7 @@ A list of awesome resources for understanding and applying normalizing flows (NF

<br>

## 📺 Videos
## 📺 Videos <small>(8)</small>

1. 2021-01-16 - [Normalizing Flows - Motivations, The Big Idea & Essential Foundations](https://youtu.be/IuXU2dBOJyw) by [Kapil Sachdeva](https://github.com/ksachdeva)<br>
A comprehensive tutorial on flows explaining the challenges addressed by this class of algorithm. Provides intuition on how to address those challenges, and explains the underlying mathematics using a simple step by step approach.
Expand Down Expand Up @@ -297,7 +297,7 @@ A list of awesome resources for understanding and applying normalizing flows (NF

<br>

## 📦 Packages
## 📦 Packages <small>(13)</small>

<br>

Expand Down Expand Up @@ -375,7 +375,7 @@ Zuko is used in [LAMPE](https://github.com/francois-rozet/lampe) to enable Likel
1. 2021-11-07 - [ContinuousNormalizingFlows.jl](https://github.com/impICNF/ContinuousNormalizingFlows.jl) by [Hossein Pourbozorg](https://github.com/prbzrg)
&ensp;
<img src="https://img.shields.io/github/stars/impICNF/ContinuousNormalizingFlows.jl" alt="GitHub repo stars" valign="middle" /><br>
Implementations of Infinitesimal Continuous Normalizing Flows Algorithms in Julia. [[Docs](https://impicnf.github.io/ContinuousNormalizingFlows.jl/)]
Implementations of Infinitesimal Continuous Normalizing Flows Algorithms in Julia. [[Docs](https://impicnf.github.io/ContinuousNormalizingFlows.jl)]

1. 2020-02-07 - [InvertibleNetworks.jl](https://github.com/slimgroup/InvertibleNetworks.jl) by [SLIM](https://slim.gatech.edu)
&ensp;
Expand All @@ -384,7 +384,7 @@ Zuko is used in [LAMPE](https://github.com/francois-rozet/lampe) to enable Likel

<br>

## 🧑‍💻 Repos
## 🧑‍💻 Repos <small>(18)</small>

<br>

Expand Down Expand Up @@ -492,7 +492,7 @@ Table 1 in the paper has a good comparison with traditional NFs.

<br>

## 🌐 Blog Posts
## 🌐 Blog Posts <small>(5)</small>

1. 2020-08-19 - [Chapter on flows from the book 'Deep Learning for Molecules and Materials'](https://dmol.pub/dl/flows) by Andrew White<br>
A nice introduction starting with the change of variables formula (aka flow equation), going on to cover some common bijectors and finishing with a code example showing how to fit the double-moon distribution with TensorFlow Probability.
Expand Down

0 comments on commit 343b142

Please sign in to comment.