• Stars
    star
    761
  • Rank 59,698 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 6 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Framework for Easily Invertible Architectures

Logo

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.

Papers

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)

Installation

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

Manually

For development:

# 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

How to cite this repository

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

@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}
}

More Repositories

1

ControlNet-XS

Python
433
star
2

ngransac

Neural-Guided RANSAC for Estimating Epipolar Geometry from Sparse Correspondences
Python
305
star
3

LessMore

Learning Less is More - 6D Camera Localization via 3D Surface Regression
C++
258
star
4

dsacstar

DSAC* for Visual Camera Re-Localization (RGB or RGB-D)
C++
243
star
5

DSACLine

Differentiable RANSAC: Learning Robust Line Fitting
Python
218
star
6

conditional_INNs

Code for the paper "Guided Image Generation with Conditional Invertible Neural Networks" (2019)
Python
93
star
7

analyzing_inverse_problems

Code for the paper "Analyzing inverse problems with invertible neural networks." (2018)
Jupyter Notebook
82
star
8

esac

ESAC - Expert Sample Consensus Applied To Camera Re-Localization
C++
68
star
9

ngdsac_camreloc

Neural-Guided, Differentiable RANSAC for Camera Re-Localization (NG-DSAC++)
C++
48
star
10

IB-INN

Code for the paper "Training Normalizing Flows with the Information Bottleneck for Competitive Generative Classification" (2020)
Python
42
star
11

FFF

Free-form flows are a generative model training a pair of neural networks via maximum likelihood
Jupyter Notebook
34
star
12

ngdsac_horizon

Neural-Guided, Differentiable RANSAC for Horizon Line Estimation
Python
33
star
13

GIN

Code for the paper "Disentanglement by Nonlinear ICA with General Incompressible-flow Networks (GIN)" (2020)
Python
31
star
14

HINT

Code for the research paper "HINT: Hierarchical Invertible Neural Transport for Density Estimation and Bayesian Inference".
Python
19
star
15

trustworthy_GCs

Materials for the paper https://arxiv.org/pdf/2007.15036.pdf
14
star
16

3dcv-students

Exercises for the lecture "Computer Vision: 3D Reconstruction"
Jupyter Notebook
12
star
17

inn_toy_data

Code for artificial toy data sets used to evaluate (conditional) invertible neural networks and related methods
Python
11
star
18

Coupling-Universality

Jupyter Notebook
10
star
19

ML-Tutorial

Introduction to Machine Learning using scikit-learn and PyTorch
Jupyter Notebook
8
star
20

gmbench

Code for “A Comparative Study of Graph Matching Algorithms in Computer Vison” (ECCV 2022)
HTML
8
star
21

MLAE

Maximum Likelihood Training of Autoencoders
Jupyter Notebook
8
star
22

libct

A fast approximate primal-dual solver for tracking-by-assignment cell-tracking problems
C++
5
star
23

libmpopt

Library for Message Passing Optimization Techniques
C++
4
star
24

combilp

Exact MAP-Inference by Confining Combinatorial Search with LP Relaxation
Python
4
star
25

Gaussianization-Bound

Code to paper "On the Convergence Rate of Gaussianization with Random Rotations"
Python
3
star