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:
- [Campos2022] “Learning of Continuous and Piecewise-Linear Functions With Hessian Total-Variation Regularization.”
- [Aziznejad2023] “Measuring Complexity of Learning Schemes Using Hessian-Schatten Total Variation.”
Table of Contents
- 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 [Campos2022] 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: Joaquim Campos ([email protected])
- [Campos2022] J. Campos, S. Aziznejad, and M. Unser, “Learning of Continuous and Piecewise-Linear Functions With Hessian Total-Variation Regularization,” IEEE Open Journal of Signal Processing, vol. 3, pp. 36-48, 2022.
- [Aziznejad2023] S. Aziznejad, J. Campos, and M. Unser, “Measuring Complexity of Learning Schemes Using Hessian-Schatten Total Variation,” SIAM Journal on Mathematics of Data Science, vol. 5, no. 2, pp. 422-445, 2023.
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.