This repository contains a Python implementation of the algorithm presented in our paper:
Homogeneous Linear Inequality Constraints for Neural Network Activations
Thomas Frerix, Matthias Nießner, Daniel Cremers
CVPR 2020 Deep Vision Workshop
- Make sure you have a running Python 3 (tested with Python 3.7) ecosytem, e.g., through conda, and an Nvidia GPU (tested with CUDA 10.1 on a Titan X)
- Install pytorch, e.g.,
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
- Install the other dependencies via
pip install -r requirements.txt
Execute the file example.sh
to make a sample run of our algorithm.
In this toy experiment, the algorithm learns an orthogonal projection onto a checkerboard constraint.
The results
directory will contain MNIST test set samples and the output of the trained model.
@InProceedings{Frerix2020,
author = {Frerix, Thomas and Nie{\ss}ner, Matthias and Cremers, Daniel},
title = {Homogeneous Linear Inequality Constraints for Neural Network Activations},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
year = {2020}
}