7
$\begingroup$

Consider these neural style algorithms which produce some art work:

Why is generating such images so slow and why does it take huge amounts of memory? Isn't there any method of optimizing the algorithm?

What is the mechanism or technical limitation behind this? Why we can't have a realtime processing?

Here are few user comments (How ANYONE can create Deep Style images):

  • Anything above 640x480 and we're talking days of heavy crunching and an insane amount of ram.

  • I tried doing a 1024pixel image and it still crashed with 14gigs memory, and 26gigs swap. So most of the VM space is just the swapfile. Plus it takes several hours potentially days cpu rendering this.

  • I tried 1024x768 and with 16gig ram and 20+ gig swap it was still dying from lack of memory.

  • Having a memory issue, though. I'm using the "g2.8xlarge" instance type.

$\endgroup$
3
+50
$\begingroup$

Real time style transfer and neural doodle is very much possible and is an active topic I see users working on to improve upon. The basic idea is to do only feed forward propagation at test time and train with appropriate loss functions at train time.

Perceptual Losses for Real-Time Style Transfer and Super-Resolution is a good starting point to understand a methodology for this purpose.

| improve this answer | |
$\endgroup$
2
$\begingroup$

It is a labor-intensive process, but that does sound excessive. If you have a g2.8xlarge, make sure you are using the using the GPU flags for neural-style, which will cut your render time by an order of magnitude.

That having been said, it is building a rather large network (depending on your parameters), and a 1024x768 image is a lot of input to work with. It will take time, but shouldn't take more than a couple hours with the GPU flag enabled correctly.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.