Feedforward neural doodle

Feed-forward neural doodle

This repository merges fast-neural-doodle and and Texture Networks. Read the blog post for the details on the doodle algorithm and the paper to learn more about texture networks.

You can find an online demo at


A good guide on installation can be found here.

You also need to download VGG-19 recognition network.

cd data/pretrained && bash && cd ../..

Generate doodles for training

Use diamond square algorithm to produce a random doodle and store it in hdf5 database.

  python --n_jobs 30 --n_colors 4 --style_image data/starry/style.png --style_mask data/starry/style_mask.png --out_hdf5 data/starry/gen_doodles.hdf5

Learn a network

Here is an example for starry_night used in the demo.

CUDA_VISIBLE_DEVICES=0 th feedforward_neural_doodle.lua -model_name skip_noise_4 -masks_hdf5 data/starry/gen_doodles.hdf5 -batch_size 4 -num_mask_noise_times 0 -num_noise_channels 0 -learning_rate 1e-1 -half false

All the parameters are explained in the code.

Stylize the doodle

After the net is trained you can process any doodle with

python --colors data/starry/gen_doodles.hdf5colors.npy --target_mask data/starry/style_mask.png --model data/out/starry_night.t7

A pretrained starry_night net is there in pretrained folder. You can try it with

python --colors pretrained/gen_doodles.hdf5colors.npy --target_mask data/starry/style_mask.png --model pretrained/starry_night.t7


  • The code was tested with 12GB NVIDIA Tesla K40m GPU and Ubuntu 14.04.


The code is based on Justin Johnson’s code for artistic style.

Uses buckinha/DiamondSquare as is.

Work is supported by Yandex and Skoltech.

Related Repositories



Feedforward neural doodle ...

Top Contributors