OpenDeep vs. other frameworks

OpenDeep is meant to bridge industry data scientists with cutting edge researchers

OpenDeep has many sibling frameworks intended to help deep learning. Each has their own strengths and weaknesses, but OpenDeep was created to address a specific need to make novel deep learning research available in industry. It is focused on bridging the gap as a 'black box factory', where you can easily create new algorithms for other people to use as black box implementations at scale. This means the focus is on making new research easy, while providing infrastructure for scalability and flexibility.


Pylearn2 is a great research framework developed by the LISA lab at the University of Montréal (the same people who created Theano). Its primary vision is to be an academic research library meant for easy scientific experimentation, and is quite customizeable.

As a result, its architecture takes some learning and getting used to; there are many interfaces to learn that aid with experimentation. Creating new models requires more overhead than we think is necessary.

OpenDeep is also focused on research use and flexibility, but for the end goal of scalability and industry adoption. This means ease of use is a priority along with the flexibility, and it is developed with real-world applications in mind.


Torch is a scientific computing framework written in LuaJIT. Many of the original developers are from the Computational and Biological Learning Lab at New York University. It is used by research groups at companies such as Facebook, Google, and Twitter.

Because it is written in Lua, Torch isn't as accessible as other frameworks to researchers and industry data scientists who mostly use Python.


Caffe is another popular deep learning framework developed by the computer vision lab at Berkeley. Similar to Theano/Pylearn2, it also enables easy use of the GPU. Caffe was developed especially for vision tasks and mostly contains convolutional nets.

Caffe isn't yet a general framework to enable other deep learning models. It is written in C++ but has wrappers for Python and Matlab.


TensorFlow is a basic math framework with automatic differentiation similar to Theano.


Deeplearning4j is a deep learning framework aimed at industry use with the Java/Scala ecosystem. It enables distributed learning and computation, and comes with ND4J for GPU use.


Other smaller frameworks exist to give the building blocks for deep learning:
Lasagne is a lightweight library to give base layer implementations in Theano/Python. It has a similar goal of reducing overhead for creating deep networks, and leveraging the power of Theano when creating new models.


Theanets is another package for Theano/Python to provide rapid development of basic neural network models. It defines models with feedforward or recurrent layers.


Blocks is a Theano/Python package developed by some LISA lab members that aims to be highly modular. However, it is also not focused on production-level applications and is too complicated in its modularity.


Keras is a minimal, modular Theano/Python package that has great simplicity and an interface similar to Torch. Keras is a bit higher-level in scope than OpenDeep: you can't add Theano expressions into your model. This makes it easier to use for beginners but harder to customize.


Kayak is similar in spirit to tools like Theano and Torch.