vislearn / FrEIA

Framework for Easily Invertible Architectures

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Build Status

This is the Framework for Easily Invertible Architectures (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.


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

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

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

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

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

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


FrEIA has the following dependencies:

Package Version
Python >= 3.7
Pytorch >= 1.0.0
Numpy >= 1.15.0
Scipy >= 1.5

Through pip

pip install FrEIA


For development:

# first clone the repository
git clone
cd FrEIA
# install the dependencies
pip install -r requirements.txt
# install in development mode, so that changes don't require a reinstall
python develop


The full manual can be found at including

How to cite this repository

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

  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 = {}


Framework for Easily Invertible Architectures

License:MIT License


Language:Python 100.0%