The original program is written in Python, and uses [PyTorch], [SciPy]. A GPU is not necessary but can provide a significant speedup especially for training a new model. Regular sized images can be styled on a laptop or desktop using saved models.
More details about the algorithm could be found in the following papers:
A few days ago, I updated my Windows 10 to version 1709 and found out that Microsoft added the GPU monitor in the Task Manager which I thought is awesome for ML developers and researchers.
Here is a screen capture of the official MNIST codes running Tensorflow-GPU on my Desktop. It is clear to see that the GTX 960 uses about 3.5GB memory out of 4.0GB to train the ConvNets, which is much faster than the CPU computing.
As we all know, the TensorFlow is very powerful and mature deep learning library with strong visualization capabilities and several options to use for high-level model development. PyTorch is still young framework which is getting momentum fast.
I strongly suggest CS and IT researchers/engineers learn both of them.
Tensorflow will be a good option if you are developing models for production or on mobile platforms, maybe in the future for large-scale distributed model training. Because it has good community support and comprehensive documentation, it is easier to find answers and get helps online.
Well, PyTorch is a good fit if you are doing research or your production are not very demanding.
Personly, I think Pytorch has better development and debugging experience.