Deep Learning Frameworks of 2017 Jan


· Interface: Python, (C++)

· Automatic Differentiation

· Multi GPU, Cluster Support

· Currently most popular


· On top of Tensorflow (and Theano)

· Interface: Python

· Goal: provide a simplified interface

· Also: TF Learn, TF Slim


· Used by researchers doing lower level (closer to the details) neural net work

· Interface: Lua

· Fragmented across different plugins


· Interface: Python (tight NumPy integration)

· One of the earlier frameworks with GPU support

· Encourages low-level tinkering


· The library that most frameworks use for doing the actual computation

· Implements primitive neural network functions in CUDA on the GPU


· Multi GPU Support (scales well)

· Interface: Python, R, Julia, Scala, Go, Javascript …


Interface: Python

Often best on benchmarks

Nervana was working on a neural network chip

Bought by Intel


Interface: C++, Python

One of the earliest GPU supported

Initial focus on computer vision (and CNNs)


Interface: Custom Language (BrainScript), Python, C++, C#

· Multi GPU Support (scales very well)

· Mostly used at MS Research


Chainer is a deep learning framework that’s designed on the principle of define-by-run. Unlike frameworks that use the define-and-run approach, Chainer lets you modify networks during runtime, allowing you to use arbitrary control flow statements.


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.


Deeplearning4J integrates with Hadoop and Spark and runs on several backends that enable use of CPUs and GPUs.

Like what you read? Give Vijay Ram a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.