WEIMINGZHE / HTV-Learn

Hessian Total-Variation Regularization for Supervised Learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

https://user-images.githubusercontent.com/26142730/128845891-26bdedfe-a442-45eb-b2de-b3672fd729a2.png

HTV-Learn is a framework that uses the Hessian-Schatten Total-Variation semi-norm as a regularizer in supervised learning as well as a measure of model complexity.

The aim of this repository is to facilitate the reproduction of the results reported in the research papers:

  • "Learning of Continuous and Piecewise-Linear Functions with Hessian Total-Variation Regularization" (submitted);
  • "Measuring Complexity of Learning Schemes Using Hessian-Schatten Total-Variation" (submitted).
  • numpy >= 1.10
  • django >= 3.2.7
  • scipy >= 1.7.1
  • torch >= 1.9.0
  • matplotlib >= 3.4.3
  • plotly >= 5.3.1
  • cvxopt >= 1.2.6
  • odl >= 0.7.0

The code was developed and tested on a x86_64 Linux system.

To install the package, we first create an environment with python 3.8:

>> conda create -y -n htv python=3.8
>> source activate htv

Then, we clone the repository:

>> git clone https://github.com/joaquimcampos/HTV-Learn
>> cd HTV-Learn

Finally, we install the requirements via the command:

>> pip install --upgrade -r requirements.txt

The models shown in the [Campos2020] are saved under the models/ folder. We can plot a model and its associated dataset via the command:

>> ./scripts/plot_model.py [model]

To reproduce the results from scratch, we can run the scripts matching the pattern ./scripts/run_*.py (e.g. ./scripts/run_face_htv.py). To see the running options, add --help to this command.

HTV-Learn is developed by the Biomedical Imaging Group, École Polytéchnique Fédérale de Lausanne, Switzerland.

Original author:

[Campos2020]
  1. Campos, S. Aziznejad, M. Unser, "Learning of Continuous and Piecewise-Linear Functions with Hessian Total-Variation Regularization" (submitted)
[Aziznejad2020]
  1. Aziznejad, J. Campos, M. Unser, "Measuring Complexity of Learning Schemes Using Hessian-Schatten Total-Variation" (submitted)

The code is released under the terms of the MIT License

This work was supported in part by the European Research Council (ERC Project FunLearn) under Grant 101020573 and in part by the Swiss National Science Foundation, Grant 200020_184646/1.

The logo rights belong to © Ben Foster 2021. You can check his website here.

About

Hessian Total-Variation Regularization for Supervised Learning

License:MIT License


Languages

Language:Python 96.1%Language:Shell 3.9%