Home » Uncategorized

Deep Learning Libraries by Language


Source for picture: click here


  • Theano is a python library for defining and evaluating mathematical expressions with numerical arrays.
  • Keras is a minimalist, highly modular neural network library in the spirit of Torch, written in Python, that uses Theano under the hood for optimized tensor manipulation on GPU and CPU.
  • Pylearn2 is a library that wraps a lot of models and training algorithms such as Stochastic Gradient Descent that are commonly used in Deep Learning.
  • Lasagne  is a lightweight library to build and train neural networks in Theano.
  • Blocks a framework that helps you build neural network models on top of Theano.
  • Caffe is a deep learning framework made with expression, speed, and modularity in mind.
  • nolearn contains a number of wrappers and abstractions around existing neural network libraries, most notably Lasagne, along with a few machine learning utility modules.
  • Gensim is deep learning toolkit implemented in python programming language intended for handling large text collections, using efficient algorithms.
  • Chainer bridge the gap between algorithms and implementations of deep learning.
  • deepnet is a GPU-based python implementation of deep learning algorithms like Feed-forward Neural Nets, Restricted Boltzmann Machines, Deep Belief Nets, Autoencoders, Deep Boltzmann Machines and Convolutional Neural Nets.
  • Hebel is a library for deep learning with neural networks in Python using GPU acceleration with CUDA through PyCUDA.
  • CXXNET is fast, concise, distributed deep learning framework based on MShadow.
  • DeepPy is a Pythonic deep learning framework built on top of NumPy.
  • DeepLearning is deep learning library, developed with C++ and python.
  • Neon is Nervana’s Python based Deep Learning framework.


  • ConvNet Convolutional neural net is a type of deep learning classification algorithms, that can learn useful features from raw data by themselves and is performed by tuning its weighs. 
  • DeepLearnToolBox is a matlab/octave toolbox for deep learning and includes Deep Belief Nets, Stacked Autoencoders, convolutional neural nets.

  • cuda-convnet is a fast C++/CUDA implementation of convolutional (or more generally, feed-forward) neural networks. It can model arbitrary layer connectivity and network depth. Any directed acyclic graph of layers will do. Training is done using the backpropagation algorithm.

  • MatConvNet  is a MATLAB toolbox implementing Convolutional Neural Networks (CNNs) for computer vision applications. It is simple, efficient, and can run and learn state-of-the-art CNNs


  • eblearn is an open-source C++ library of machine learning by New York University’s machine learning lab, led by Yann LeCun. 

  • SINGA is designed to be general to implement the distributed training algorithms of existing systems. 

  • NVIDIA DIGITS is a new system for developing, training and visualizing deep neural networks. 

  • Intel® Deep Learning Framework provides a unified framework for Intel® platforms accelerating Deep Convolutional Neural Networks.


  1. N-Dimensional Arrays for Java (ND4J)is scientific computing libraries for the JVM.

  2. Deeplearning4j is the first commercial-grade, open-source, distributed deep-learning library written for Java and Scala.

  3. Encog is an advanced machine learning framework which supports Support Vector Machines,Artificial Neural Networks, Genetic Programming, Bayesian Networks, Hidden Markov Models, Genetic Programming and Genetic Algorithms are supported.


  • Convnet.js is a Javascript library for training Deep Learning models (mainly Neural Networks) entirely in a browser.


  • Torch is a scientific computing framework with wide support for machine learning algorithms.


  • Mocha is a Deep Learning framework for Julia, inspired by the C++ framework Caffe.


  • Lush(Lisp Universal Shell) is an object-oriented programming language designed for researchers, experimenters, and engineers interested in large-scale numerical and graphic applications.


  • DNNGraph is a deep neural network model generation DSL in Haskell.


  • Accord.NET is a .NET machine learning framework combined with audio and image processing libraries completely written in C#.


  • darch package can be used for generating neural networks with many layers (deep architectures).
  • deepnet implements some deep learning architectures and neural network algorithms, including BP,RBM,DBN,Deep autoencoder and so on.

To read the full article and have more explanation, click here.

DSC Resources

Additional Reading

Follow us on Twitter: @DataScienceCtrl | @AnalyticBridge