jcjohnson / neural-style

Torch implementation of neural style algorithm
MIT License
18.31k stars 2.7k forks source link

Prisma generate neural style offline now #313

Open markzhong88 opened 8 years ago

markzhong88 commented 8 years ago

So they can do it within a iPhone processor and it takes around 5 seconds without using GPU. The result is also very good, any thoughts?

jcjohnson commented 8 years ago

Prisma uses a method similar to that described in my recent paper:

http://arxiv.org/abs/1603.08155

3DTOPO commented 8 years ago

@jcjohnson Do you still have any plans to release your implementation? :)

jcjohnson commented 8 years ago

@3DTOPO Yes, I've just been extremely busy with other projects this summer.

markzhong88 commented 8 years ago

@jcjohnson Yeah, I believe they use the feed forward method, but they leverage the technology so good, generating the best image so far, and run very fast locally on iPhone without using GPU.

3DTOPO commented 8 years ago

@jcjohnson I understand! Not to press, but might you have any time frame in mind?

@markz-nyc they are almost certainly utilizing the GPU on the iPhone.

jcjohnson commented 8 years ago

@3DTOPO I'm presenting the paper at a conference in October, and I'd really like to have code released by then. In the meantime you can check out Texture Nets (https://github.com/DmitryUlyanov/texture_nets); their feedforward results are as good or better than mine.

3DTOPO commented 8 years ago

@jcjohnson thanks for the info and tip! I had seen texture_nets, but I have spent all my time experimenting with https://github.com/yusuketomoto/chainer-fast-neuralstyle

I'll check it out, thanks!

Do you think this project has the frameworks needed for a port of your implementation?

https://github.com/collinhundley/Swift-AI

jcjohnson commented 8 years ago

@3DTOPO Looks like Swift-AI doesn't have convolutional layers; those are essential.

Apple's BNNS framework is closer (https://developer.apple.com/reference/accelerate/1912851-bnns) but doesn't seem to have convolution transpose (also called deconvolution, full convolution, or upconvolution).

carloser200 commented 8 years ago

great Project

nguyenvo09 commented 8 years ago

I like this project.

On Mon, Aug 29, 2016 at 8:22 PM, Ben Janik notifications@github.com wrote:

great Project

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jcjohnson/neural-style/issues/313#issuecomment-243314554, or mute the thread https://github.com/notifications/unsubscribe-auth/AA9yzOz65UOAKnUuqaWINcBPK5cipJL0ks5qk5PagaJpZM4JutzL .

Nguyen Vo

julien-c commented 7 years ago

@jcjohnson For large convolutional nets, Metal performance shaders are the way to go, not BNNS (which run on the CPU after all). See this for instance : https://developer.apple.com/library/content/samplecode/MetalImageRecognition/Introduction/Intro.html

3DTOPO commented 7 years ago

BNNS is hardware accelerated and built on top of Metal.

julien-c commented 7 years ago

@3DTOPO Hmm... Source please?

austingg commented 7 years ago

@3DTOPO @julien-c BNNS for cpu and Metal use gpu

julien-c commented 7 years ago

@3DTOPO You should probably delete your comment

3DTOPO commented 7 years ago

I thought it was based on the WWDC video I watched and @jcjohnson recommendation.

But apparently it is part of the Accelerate Framework that is CPU optimized not GPU optimized, so I was wrong.

Link about BNNS and Metal Performance Shaders (MPS) CNN: https://www.bignerdranch.com/blog/neural-networks-in-ios-10-and-macos/