Painting with gradients: the 2015 neural style paper, reimplemented
A straightforward Python implementation of the original Gatys et al. neural style transfer algorithm, complete with Danish royalty examples.

What it does
Feed it a subject photo and a style image; it outputs the photo re-rendered in the style of the painting. The implementation follows the original 2015 paper closely, using a pretrained VGG-19 network to separate and recombine content and texture.
The interesting bit
The author built two custom dependencies to make this work: DeepPy (a deep learning framework) and CUDArray (a CUDA-accelerated NumPy clone). That was the state of the art in 2015 — before PyTorch made this a ten-line script.
Key highlights
- Implements the original Gatys et al. “A Neural Algorithm of Artistic Style” paper verbatim
- Command-line interface:
--subjectand--styleflags, plus tunable options via--help - Requires VGG-19 weights from MatConvNet’s pretrained zoo
- Ships with a full example gallery including the Queen of Denmark in five artistic styles
- GPU acceleration via cuDNN through the CUDArray backend
Caveats
- Dependencies (DeepPy, CUDArray) are the author’s own projects and appear unmaintained; getting this running on modern CUDA versions may require archaeology
- No mention of memory requirements, processing time, or supported image sizes in the README
Verdict
Worth a look if you’re studying the original paper or maintaining legacy 2015-era deep learning code. For practical style transfer today, modern frameworks have made this far simpler.