The purpose of this post is to write down what I know about these frameworks, as I learn more, I will keep on updating with more information. These are the deep learning frameworks that I have used or am using:

Tensor Flow

  • Both C++ and Python
  • Released by Google

Theano

Its a python library that allows one to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Developed at University of Montreal.

Some important and beneficiary features of Theano are:

  • Tight integration with NumPy
    • Use numpy ndarray in Theano-compiled functions.
  • Hence Theano has been powered for large-scale computationally intensive investigations as it is also approachable enough to be used in the classroom.
  • The package contains a number of utility modules that are helpful with machine learning tasks.
  • Keras, Pylearn2 are some other libraries which are build on Theano.
  • Have a state of the art model for RNN and LSTM
  • Supports automatic gradient differentiation which is considered one of the most important points about it.
  • Lower level abstraction offered by working with symbolic functions mean that more freedom with what we want is possible
  • This might be one of the reasons why it may seem complicated, there are no ready to run models, everything must be done on our own.
  • I think the underlying architecture of Theano converts everything to a computational graph which makes fast calculations and calculations that can be shared easily among different parts of a process.

Caffe

  • Berkeley Vision and Learning Center developed it
  • Pretrained models are available for MNIST and other datasets which makes their use easy and highly newbie friendly
  • Extremely portable
  • Fast, Caffe is said to have the fastest implementation of CNN
  • Caffe installation on OS X is slightly difficult. It was so much more easier on Ubuntu 14.04
  • Can be easily configured to use GPU’s using flags

Gensim

  • Python library
  • Implementation of Word2Vec and Doc2Vec which is widely used
  • Easy installation

Deeplearning4j

  • A Java and Scala library.
  • Mainly a business framework
  • Brings a scala-like thinking
  • Easy installation

##Torch

  • I am a newbie at it because of not much knowledge about Lua. Torch is written in Lua.
  • Written in Lua which is lightweight and easy to write wrappers of ultra fast C and C++ for Lua.
  • State of the art convolutional network models

Cuda

  • Support by GPU acceleration
  • CuDNN supports other frameworks and libraries
  • NVIDIA GPU’s only


blog comments powered by Disqus

Published

30 December 2015

Tags