Unlike H2O.ai, Graphlab supports the use of GPUs.
**Theano**is a Python library.
It was developed by a machine learning group headed by Yoshua Bengio at the
University of Montreal.
It is more a research platform than a deep learning library. You must perform
more work by yourself to generate the models that you want. It does not have any

deep learning classes within itself
Theano - Features
Theano allows us to define mathematical expressions as a set of vectors and
matrices. This avoids too many for loops in our code and greatly reduces the
computation time.
Theano is best suited when we are going to build everything from scratch. It
just aids in representing our deep net in terms of vectors and matrices.
Some of the optimization techniques used by Theano are the use of GPU for
computations, arithmetic simplification, constant folding, using memory aliasing
to avoid calculation, etc.
Popular libraries like Keras, Lasagne, Blocks, and Pylearn2 are built on top of
Theano.
DeepLearning4J (DL4J) is a Deep Learning framework created in Java and JVM
languages for using in commercial deep learning projects. Adam Gibson developed
DL4J.
DL4J is utilized in business environments on distributed CPUs and GPUs, making
it ideal for commercial-grade applications.
Features
DL4J runs on distributed GPUs and CPUs.
It allows us to tune the deep net by selecting values for hyperparameters
It supports most of the deep nets like DBN, RBN, CNN, RNTN, autoencoders,
Recurrent net and vanilla MLP.
It also includes vectorization library called Canova and distributed multi-node
map reduce procedure for training the model.
Torch is a Lua deep learning framework developed by Koray Kavukcuoglu, Clement
Farabet and Ronan Collobert for research and development activities into deep
learning algorithms.
Torch is written in LuaJit (framework in Lua programming language) with an
underlying C implementation.
It has also been further contributed by Facebook, Google DeepMind, Twitter and a
host of others.
Popular applications of Torch are for supervised image problems with
Convolutional Neural Networks and agents in more complex domains with deep
reinforcement learning.
Features
Torch allows us to set up, train, and model deep net by configuring its
hyperparameters.
Fast and efficient GPU support.
Provides built-in functions for indexing, transposing, slicing and numeric
optimization.
Embeddable, with ports to iOS and Android backends.
Caffe library was developed by Yangqing Jia at the Berkeley Vision and Learning
Center for supervised computer vision problems.
It is written in C++ with a Python interface
It is mainly suited for machine vision tasks and also supports speech and text,
reinforcement learning and recurrent nets.
Features
An application can easily switch between CPU and GPU since Caffe is written in
C++ with CUDA (a parallel computing platform).

