akrizhevsky / cuda-convnet2

Automatically exported from code.google.com/p/cuda-convnet2
Apache License 2.0
782 stars 290 forks source link

Is cuda-convnet2 a "back-end" or a self-contained deep learning library? #21

Open roschler opened 8 years ago

roschler commented 8 years ago

I've done some reading and it appears that some of the CUDA libraries available for deep learning can be integrated with (used by) DNN frameworks like Theano, etc. My main goal is to implement the image classification network described in Matthew Zeiler's paper "Visualizing and Understanding Convolutional Networks":

http://www.matthewzeiler.com/pubs/arxive2013/arxive2013.pdf

I'm really interested in replicating the visualization graphics described in that paper. I saw this page on Google Code in conjunction with the original cuda-convnet project:

https://code.google.com/p/cuda-convnet/

That appears to show the same graphics I saw in Matthew's paper, depicting the features the network is learning. So my questions are:

Also, if I haven't already used up my question quota, is an Nvidia GTX 680 with 4GB RAM good enough to do useful work or is it better to bite the bullet and start with a GTX TitanX? ( which is about 3 times the price of a used GTX 680)

xiaoyutao commented 8 years ago

I think it's a self-contained tools (or even a platform), easy to train and deploy a convnet model on multiple graphic cards. Still, deploying convnet model trained by cuda-convnet requires writing python interfaces to acquire features being extracted or predicted labels. To train one ZF model? Simply config the layer-definition file and layer-parameter file. Read the tutorials and you'll see it's not hard. Titan card would be better (may try some deeper models later?).