Final project for CSE 203B Convex Optimization Course
Sample output images: (The groundtruth of #1490 is grayscale. gamma is color_vivid_gamma in our loss function. retrain means retraining for 10 epochs; otherwise, it's training for 20 epochs.)

- Ahan Mukhopadhyay
- Kolin Guo
- Kyle Lisenbee
- Ulyana Tkachenko
- Ubuntu 18.04
- NVIDIA GPU with CUDA version >= 11.1, cuDNN version >= 8.0
- Docker version >= 19.03, API >= 1.40
- nvidia-container-toolkit (previously known as nvidia-docker)
Command to test if all prerequisites are met:
sudo docker run -it --rm --gpus all ubuntu nvidia-smi
bash ./setup.sh
You should be greeted by the Docker container colorization when this script finishes. The working directory is / and the repo is mounted at /Colorization.
- Training from scratch
python3 src/train.py eccv16_half
Resume training from a checkpoint file
python3 src/train.py eccv16_half --checkpoint_file <path_to_ckpt_file> - Predicting: generate colorized images using trained models
python3 src/predict.py eccv16_half --checkpoint_file <path_to_ckpt_file>
Some other available arguments can be viewed with --help option.
Our project outline and final report can be found in docs/ folder.
- Change the network to output chroma/hue channels instead of ab channels and use a similar loss function to constrain on chroma/hue directly.
- Benchmark against the multinomial classification loss function in [1].