Hacker News new | past | comments | ask | show | jobs | submit login

Theano (Python) is a symbolic mathematical framework which can do symbolic automatic differentiation - not more and not less. This is a very useful base for all kinds of NNs but also for any mathematical models. This will give you a computation graph which is then also optimized by Theano and which can be evaluated on several different backends, e.g. CUDA, i.e. it can be calculated on the GPU. This is also important for common NNs for performance.

Torch (Lua) is similar, but is not symbolic, and when you want to calculate the gradient, it will do the backpropagation through the same graph, just backwards. It's like Theano only a mathematical framework, which is very useful for all kinds of NNs but also any other mathematical models.

There are many libs based on Theano, e.g. like Groundhog, Keras, Lasagne, etc. There are also Torch based NN utils. You usually code your model directly in Python / Lua. Thus that is very flexible.

Caffe is a C++ framework with CUDA support. You describe your models by some declarative config. It's thus much less flexible.

PyBrain (Python) is similar to Groundhog etc, but not based on Theano but on pure Python / Numpy code.

Brainstorm (Python) is similar to PyBrain, and also not based on Theano but is has several own custom backends, including CUDA.




In your opinion, would there be any advantage in using Brainstorm over Theano or even Torch?


What do you want to do?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: