This code supports the PhD thesis "Total Variation Bilevel Learning: Optimality Conditions and Numerical Solution" that can be found here.
$ conda create -n bilevel
$ conda activate bilevel
$ conda install numpy pillow scikit-image
$ pip install pylops pyproximal
$ conda activate bilevel
$ python data_learning.py datasets/cameraman_128_5/filelist.txt -t scalar -i 15
$ conda activate bilevel
$ python data_learning.py datasets/cameraman_128_5/filelist.txt -t patch -prows 2 -pdata 15 15 15 15
$ conda activate bilevel
$ python regularization_learning.py datasets/cameraman_128_5/filelist.txt -t scalar -i 0.1
$ conda activate bilevel
$ python regularization_learning.py datasets/cameraman_128_5/filelist.txt -t patch -prows 2 -pdata 0.1 0.1 0.1 0.1
- -o/--output: Directory where to store the results
- -v/--verbose: Print evolution of iterations of the bilevel solver
- -i/--init: Initial value for the parameter
- -ps/--patch_size: Patch size of the parameter
- -g/--gamma: Smoothing parameter for the TV norm
$ python data_learning.py datasets/cameraman_128_5/filelist.txt -t scalar -i 10 -o output/cameraman_128_5/10/ -v