Basic Frameworks to implement Deep Learning Algorithms

There are a lot of frameworks available to implement deep learning algorithms. You don't need to implement CNN, RNN, LSTM algorithms from scratch because these frameworks do this complex task for you very easily, quickly and efficiently. You just need to learn how to use these frameworks. 

Some of the widely used frameworks available for deep learning are TensorFlow, PyTorch, Keras, Theano, CNTK, DL4J, Caffe, MXNet, Chainer, Sonnet, Swift, ONNX, Gluon, MATLAB, PaddlePaddle etc.

While choosing a framework for your deep learning models, you should consider some basic points about frameworks like:
  • Easy to understand and code
  • Open source
  • Good community support
  • Well documented
  • Good performance over large datasets
  • Should be able to implement complex models like CNN, RNN, LSTM etc.
  • Automatic gradient computations
  • Should consume less resources
  • CUDA support
All of these frameworks are open source, efficient and support CUDA. Instead of writing hundreds of lines of code, we can use any of these frameworks and build deep learning model quickly. 

I will not go in detail in explaining all the deep learning frameworks. I am just going to write some basic points about these frameworks.

  • Developed by Google Brain Team
  • Most widely used deep learning framework till date
  • Supports multiple languages like Python, C++ and R
  • Largest community support as compared to other frameworks
  • Well documented
  • Best suited to implement CNN, RNN, LSTM type of neural models
  • Support for multiple devices like CPU and GPU
  • Available on both desktop and mobile
  • Written in Python and can run on top of TensorFlow, Theano and CNTK.
  • Well suited for beginners as you don't have to deal with low-level libraries unlike TensorFlow.
  • Developed by Facebook AI Group
  • Strong competitor of Google's TensorFlow
  • Supports Windows, Linux and macOS
  • Developed by Yangqing Jia during his Ph.D at the University of Claifornia, Berkeley.
  • Released under the BSD 2-Clause license
  • Supports C, C++, Python, MATLAB
  • Supports Windows, Linux and macOS

  • Microsoft Cognitive Toolkit 
  • Supports Python, C#, Java and C++
  • Supports Windows and Linux
  • Developed by Apache Software Foundation
  • Released under Apache License 2.0
  • Written in C++, Python, R, Julia, JavaScript, Scala, Go, Perl
  • Supports Windows, Linux and macOS
  • Pronounced as mix-net
  • Eclipse Deeplearning4j is a deep learning programming framework written for Java and the Java Virtual Machine (JVM).
  • Written in Java, Scala, CUDA, C, C++, Python, Clojure
  • Supports Linux, macOS, Windows, Android
  • Developed by Montreal Institute for Learning Algorithms (MILA), University of Montreal
  • Released under 3-Clause BSD License
  • Written in Python and CUDA

Post a Comment

Previous Post Next Post