Exploiting the Potential of Standard Convolutional Autoencoders for Image Restoration by Evolutionary Search
This repository contains the code for the following paper arXiv:
Masanori Suganuma, Mete Ozay, and Takayuki Okatani, "Exploiting the Potential of Standard Convolutional Autoencoders for Image Restoration by Evolutionary Search," arXiv:1803.00370, (2018)
- Ubuntu 14.04 LTS
- CUDA version 8.0
- Python version 3.6.2
- Pytortch version 0.2.0_4
python exp_main.py -i
python exp_main.py -i -mask center
When you specify the -i
option, an initial individual consists of a single convolution layer and a single deconvolution layer.
To choose inpainting tasks, please specify the -mask
option (center, pixel, half).
When you use the multiple GPUs, please specify the -g
option (default:1):
python exp_main.py -g 2
You can set the number of offsprings with the -l
option (default:2):
python exp_main.py -l 4
After the execution, the files, network_info.pickle
and log_cgp.txt
will be generated. The file network_info.pickle
contains the information for Cartegian genetic programming (CGP) and log_cgp.txt
contains the log of the optimization and discovered CAE architecture's genotype lists.
Some parameters (e.g., # rows and columns of CGP, and # epochs) can easily change by modifying the arguments in the script exp_main.py
.
To re-train the discovered architecture:
python exp_main.py -m retrain
To re-start the evolution:
python exp_main.py -m reevolution
To create the training, validation, and test sets of the CelebA dataset:
python create_data.py
The cars dataset is available here.
The SVHN dataset is available here.
The BSDS500 dataset is available here.