An open API service indexing awesome lists of open source software.

https://github.com/vislearn/FrEIA

Framework for Easily Invertible Architectures
https://github.com/vislearn/FrEIA

Last synced: about 1 year ago
JSON representation

Framework for Easily Invertible Architectures

Awesome Lists containing this project

README

          

|Logo|

.. image:: https://github.com/vislearn/FrEIA/workflows/CI/badge.svg
:alt: Build Status

This is the **Fr**\ amework for **E**\ asily **I**\ nvertible **A**\ rchitectures (**FrEIA**).

* Construct Invertible Neural Networks (INNs) from simple invertible building blocks.
* Quickly construct complex invertible computation graphs and INN topologies.
* Forward and inverse computation guaranteed to work automatically.
* Most common invertible transforms and operations are provided.
* Easily add your own invertible transforms.

.. contents:: Table of contents
:backlinks: top
:local:

Papers
--------------

Our following papers use FrEIA, with links to code given below.

**"Generative Classifiers as a Basis for Trustworthy Image Classification" (CVPR 2021)**

* Paper: https://arxiv.org/abs/2007.15036
* Code: https://github.com/RayDeeA/ibinn_imagenet

**"Training Normalizing Flows with the Information Bottleneck for Competitive Generative Classification" (Neurips 2020)**

* Paper: `arxiv.org/abs/2001.06448 `_
* Code: `github.com/vislearn/IB-INN `_

**"Disentanglement by Nonlinear ICA with General Incompressible-flow Networks (GIN)" (ICLR 2020)**

* Paper: `arxiv.org/abs/2001.04872 `_
* Code: `github.com/vislearn/GIN `_

**"Guided Image Generation with Conditional Invertible Neural Networks" (2019)**

* Paper: `arxiv.org/abs/1907.02392 `_
* Supplement: `drive.google.com/file/d/1_OoiIGhLeVJGaZFeBt0OWOq8ZCtiI7li `_
* Code: `github.com/vislearn/conditional_INNs `_

**"Analyzing inverse problems with invertible neural networks." (ICLR 2019)**

* Paper: `arxiv.org/abs/1808.04730 `_
* Code: `github.com/vislearn/analyzing_inverse_problems `_

Installation
--------------

FrEIA has the following dependencies:

+---------------------------+-------------------------------+
| **Package** | **Version** |
+---------------------------+-------------------------------+
| Python | >= 3.7 |
+---------------------------+-------------------------------+
| Pytorch | >= 1.0.0 |
+---------------------------+-------------------------------+
| Numpy | >= 1.15.0 |
+---------------------------+-------------------------------+
| Scipy | >= 1.5 |
+---------------------------+-------------------------------+

Through pip
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: sh

pip install FrEIA

Manually
^^^^^^^^^^^^^^^^^^^^^^^^^^^

For development:

.. code:: sh

# first clone the repository
git clone https://github.com/vislearn/FrEIA.git
cd FrEIA
# install the dependencies
pip install -r requirements.txt
# install in development mode, so that changes don't require a reinstall
python setup.py develop

Documentation
-----------------

The full manual can be found at
https://vislearn.github.io/FrEIA
including

* `Quickstart guide `_
* `Tutorial `_
* `Examples `_
* `API documentation `_

How to cite this repository
-------------------------------

If you used this repository in your work, please cite it as below:

.. code-block::

@software{freia,
author = {Ardizzone, Lynton and Bungert, Till and Draxler, Felix and Köthe, Ullrich and Kruse, Jakob and Schmier, Robert and Sorrenson, Peter},
title = {{Framework for Easily Invertible Architectures (FrEIA)}},
year = {2018-2022},
url = {https://github.com/vislearn/FrEIA}
}

.. |Logo| image:: docs/freia_logo_invertible.svg