Jump to content

Comparison of deep learning software

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 194.138.39.61 (talk) at 13:16, 16 August 2016 (→‎Deep learning software by name: Correct Julia Programming Language Link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The following table compares some of the most popular software frameworks, libraries and computer programs for deep learning.

Deep learning software by name

Software Creator Software license[a] Open source Platform Written in Interface OpenMP support OpenCL support CUDA support Automatic differentiation[1] Has pretrained models Recurrent Nets Convolutional Nets RBM/DBNs
Caffe Berkeley Vision and Learning Center, community contributors BSD 2-Clause License Yes Ubuntu, OS X, AWS,[2] unofficial Android port,[3] Windows support by Microsoft Research,[4] unofficial Windows port[5] C++, Python[6] C++, command line, Python, MATLAB[7] No Branch,[8] pull request,[9] third party implementation[10] Yes ? Yes[11] Yes Yes No[12]
Chainer[13] PFI/PFN MIT license Yes Linux, Mac OS X Windows Python Python No On roadmap[14] Yes ? Through Caffe's model zoo[15] Yes Yes Yes
CNTK Microsoft Free[16] Yes Windows, Linux[17] C++ Command line,[18] network description language BrainScript[19] (C++, Python and .NET on roadmap[20]) Yes[21] No Yes Yes No[22] Yes[23] Yes[23] No[24]
Deeplearning4j Skymind engineering team; Deeplearning4j community; originally Adam Gibson Apache 2.0 Yes Linux, Ubuntu, Windows, OSX, Android (Cross-platform) Java, Scala, C, C++ Java, Scala, Clojure On roadmap On roadmap[25] Yes[26] Computational Graph Yes[27] Yes Yes Yes
MXNet Distributed (Deep) Machine Learning Community Apache 2.0 Yes Ubuntu, OS X, Windows,[28][29] AWS, Android,[30] iOS, JavaScript[31] C++, Python, Julia, Matlab, Go, R, Scala C++, Python, Julia, Matlab, JavaScript, Go, R, Scala Yes On roadmap[32] Yes Yes[33] Yes[34] Yes Yes Yes
Neural Designer Artelnics Proprietary No Windows, OS X, Linux C++ Graphical user interface Yes No No ? ? No No No
OpenNN Artelnics GNU LGPL Yes Cross platform C++ C++ Yes No No ? ? No No No
SINGA[35] Apache Incubator Apache 2.0 Yes Linux C++, Python Python, C++ No No Yes ? No Yes Yes Yes
TensorFlow Google Brain team Apache 2.0 Yes Linux, Mac OS X (Windows support on roadmap[36][37]) C++, Python Python, C/C++ No On roadmap[37][38] Yes Yes[39] No Yes Yes Yes
Theano Université de Montréal BSD license Yes Cross-platform Python Python Yes Under development[40] Yes Yes[41][42] Through Lasagne's model zoo[43] Yes Yes Yes
Torch Ronan Collobert, Koray Kavukcuoglu, Clement Farabet BSD License Yes Linux, Android,[44] Mac OS X, iOS C, Lua Lua, LuaJIT,[45] C, utility library for C++/OpenCL[46] Yes Third party implementations[47] Yes[48][49] Through Twitter's Autograd[50] Yes[51] Yes Yes Yes
  1. ^ Licenses here are a summary, and are not taken to be complete statements of the licenses. Some libraries may use other libraries internally under different licenses

Deep learning software not yet covered

  • adnn – Javascript neural networks
  • Blocks – Theano framework for building and training neural networks
  • CaffeOnSpark – Scalable deep learning package running Caffe on Spark and Hadoop clusters with peer-to-peer communication
  • CNNLab – Deep learning framework using GPU and FPGA-based accelerators
  • ConvNetJS – Javascript library for training deep learning models entirely in a web browser
  • Cortex – Theano-based deep learning toolbox for neuroimaging
  • cuDNN – Highly optimized deep learning computation primitives implemented in CUDA
  • CURRENNT – CUDA-accelerated toolkit for deep Long Short-Term Memory (LSTM) RNN architectures supporting large data sets not fitting into main memory.
  • DeepCL – OpenCL library to train deep convolutional networks, with APIs for C++, Python and the command line
  • DeepLearningKit – Open source deep learning framework for iOS, OS X and tvOS[52]
  • DeepLearnToolbox – Matlab/Octave toolbox for deep learning (deprecated)
  • DeepX – Software accelerator for deep learning execution aimed towards mobile devices
  • DSSTNE (Deep Scalable Sparse Tensor Network Engine) – Amazon developed library for building deep learning models
  • Faster RNNLM (HS/NCE) toolkit – An rnnlm implementation for training on huge datasets and very large vocabularies and usage in real-world ASR and MT problems
  • GNU Gneural Network – GNU package which implements a programmable neural network
  • IDLFIntel® Deep Learning Framework; supports OpenCL (deprecated)
  • Keras – Deep Learning library for Theano and TensorFlow
  • Lasagne – Lightweight library to build and train neural networks in Theano
  • Leaf – "The Hacker's Machine Learning Engine"; supports OpenCL
  • LightNet – MATLAB-based environment for deep learning
  • MatConvNet – CNNs for MATLAB
  • neon – Nervana's Python based Deep Learning framework
  • Neural Network Toolbox – MATLAB toolbox for neural network creation, training and simulation
  • Pylearn2 – Machine learning library mainly built on top of Theano
  • scikit-neuralnetwork – Multi-layer perceptrons as a wrapper for Pylearn2
  • Tensor Builder – Lightweight extensible library for easy creation of deep neural networks using functions from any Tensor-based library through an API based on the Builder Pattern
  • TensorGraph – Framework for building any models based on TensorFlow
  • Theano-Lights – Deep learning research framework based on Theano
  • tiny-cnn – Header only, dependency-free deep learning framework in C++11
  • torchnet – Torch framework providing a set of abstractions aiming at encouraging code re-use as well as encouraging modular programming[53][54]
  • Veles – Distributed machine learning platform by Samsung

See also

References

  1. ^ Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 Feb 2015). "Automatic differentiation in machine learning: a survey". arXiv:1502.05767 [cs.LG].
  2. ^ "Caffe".
  3. ^ "GitHub - sh1r0/caffe-android-lib: Porting caffe to android platform". GitHub.
  4. ^ "GitHub - Microsoft/caffe: Caffe on both Linux and Windows". GitHub.
  5. ^ "GitHub - niuzhiheng/caffe: Caffe". GitHub.
  6. ^ "Caffe".
  7. ^ "Caffe".
  8. ^ "GitHub - BVLC/caffe at opencl". GitHub.
  9. ^ "OpenCL Backend by lunochod · Pull Request #2195 · BVLC/caffe". GitHub.
  10. ^ "GitHub - amd/OpenCL-caffe: OpenCL version of caffe developed by AMD research lab". GitHub.
  11. ^ "Model Zoo". GitHub.
  12. ^ "RBM layer ? (+DBN) · Issue #1207 · BVLC/caffe". GitHub.
  13. ^ "Chainer Official Site". GitHub.
  14. ^ "Chainer OpenCL support".
  15. ^ "Chainer Caffe Reference Model Support". GitHub.
  16. ^ "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
  17. ^ "Setup CNTK on your machine". GitHub.
  18. ^ "CNTK usage overview". GitHub.
  19. ^ "BrainScript Network Builder". GitHub.
  20. ^ "CNTK as a library with C++ APIs · Issue #175 · Microsoft/CNTK". GitHub.
  21. ^ "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
  22. ^ https://github.com/Microsoft/CNTK/issues/140#issuecomment-186466820
  23. ^ a b Microsoft Corporation. "CNTK - Computational Network Toolkit". Microsoft Corporation.
  24. ^ https://github.com/Microsoft/CNTK/issues/534. {{cite web}}: Missing or empty |title= (help)
  25. ^ "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
  26. ^ "N-Dimensional Scientific Computing for Java".
  27. ^ Chris Nicholson; Adam Gibson. "Deeplearning4j Models".
  28. ^ "Releases · dmlc/mxnet". Github.
  29. ^ "Installation Guide — mxnet documentation". Readthdocs.
  30. ^ "MXNet Smart Device". ReadTheDocs.
  31. ^ "MXNet.js". Github.
  32. ^ "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
  33. ^ http://mxnet.readthedocs.io/
  34. ^ "Model Gallery". GitHub.
  35. ^ Apache SINGA. "Apache SINGA – A Distributed Deep Learning Platform".
  36. ^ "Windows Support and Documentation · Issue #17 · tensorflow/tensorflow". GitHub.
  37. ^ a b "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub.
  38. ^ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  39. ^ https://www.tensorflow.org/
  40. ^ "Using the GPU — Theano 0.8.2 documentation".
  41. ^ http://deeplearning.net/software/theano/library/gradient.html
  42. ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
  43. ^ "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
  44. ^ "GitHub - soumith/torch-android: Torch-7 for Android". GitHub.
  45. ^ "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
  46. ^ "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub.
  47. ^ "Cheatsheet". GitHub.
  48. ^ "Torch CUDA backend". GitHub.
  49. ^ "Torch CUDA backend for nn". GitHub.
  50. ^ https://github.com/twitter/torch-autograd
  51. ^ "ModelZoo". GitHub.
  52. ^ http://arxiv.org/pdf/1605.04614v1.pdf
  53. ^ https://code.facebook.com/posts/580706092103929
  54. ^ Ronan Collobert; Laurens van der Maaten; Armand Joulin. "Torchnet: An Open-Source Platform for (Deep) Learning Research" (PDF). Facebook AI Research. Retrieved 24 June 2016.
  55. ^ http://arxiv.org/abs/1506.06579
  56. ^ http://yosinski.com/deepvis