
Implementation of Neural Style Transfer in Python and Keras - fchollet
https://github.com/titu1994/Neural-Style-Transfer
======
dswalter
Excellent writeup. The post makes use of the OP's deep learning library Keras,
which is utterly fantastic. If you want to learn more about deep learning, I'd
recommend getting started with Keras on top of Theano or Tensorflow; the API
is elegant and keeps pretty up-to-date on modern tweaks to
structure/initializations, etc.

~~~
jbmorgado
Also check MxNet. I don't know enough of DNN to check if it's as powerful as
Keras to build custom nets, but it's faster training the network and - for me
- easier to install with CUDA and CNN support and has the big plus of being
usable in R besides Python, Julia and Scala.

------
jbmorgado
Any idea on the algorithm that deepart.io uses compared to this one?

The image from deepart.io looks nicer, although it could just be due to brute
force (deepart.io example has 1000 interactions, while the one from this
project only shows 50).

~~~
titu1994
Hi, I'm the developer of the script. The algorithm used by Deepart.io differs
in two crucial ways : It uses Markov Random Field Regularization from the
CNNMRF paper, as well as Image Analogy loss from the Image Analogies" paper.

The output is far more precise, although it requires far more time to process
the image, as well as requires a 1000 iterations.

Of course on powerful GPU's this is not a big problem. However on a desktop
gpu or laptop gpu for home use, it is simply not worth it to use several hours
to develop a single image.

On the plus side, there is a second script called INetwork.py which uses
several improvements from a recent paper "Improving the Neural Algorithm of
Artistic Style" which takes slightly more time, but produces good results in
under 100 iterations and far less time than with MRF loss.

------
rco8786
Neat. What are some practical uses for this?

~~~
zardo
A good example from SIGGRAPH this year: [https://youtu.be/urf-
AAIwNYk?t=176](https://youtu.be/urf-AAIwNYk?t=176)

