Comparaison de logiciels d'apprentissage profond — Wikipédia
Le tableau suivant compare les cadres logiciels, bibliothèques et programmes informatiques notables pour l'apprentissage en profondeur.
Logiciel d'apprentissage en profondeur par nom
[modifier | modifier le code]
Nom | Créateur | 1ère publication | Licence | Ouvert | Plate-forme | Langage | Interface | OpenMP | OpenCL | CUDA | Differentiation[1] | Modèles préentrainés | Récurrent | Convolutif | RBM/DBNs | Parallèle | Actif |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BigDL | Jason Dai (Intel) | 2016 | Apache 2.0 | Oui | Apache Spark | Scala | Scala, Python | Non | Oui | Oui | Oui | ||||||
Caffe | Berkeley Vision and Learning Center | 2013 | Licence BSD | Oui | Linux, macOS, Windows[2] | C++ | Python, MATLAB, C++ | Oui | Under development[3] | Oui | Oui | Oui[4] | Oui | Oui | Non | ? | Non[5] |
Chainer | Preferred Networks | 2015 | Licence BSD | Oui | Linux, macOS | Python | Python | Non | Non | Oui | Oui | Oui | Oui | Oui | Non | Oui | Non[6] |
Deeplearning4j | Skymind engineering team; Deeplearning4j community; originally Adam Gibson | 2014 | Apache 2.0 | Oui | Linux, macOS, Windows, Android (Cross-platform) | C++, Java | Java, Scala, Clojure, Python (Keras), Kotlin | Oui | Non[7] | Oui[8],[9] | Computational Graph | Oui[10] | Oui | Oui | Oui | Oui[11] | |
Dlib | Davis King | 2002 | Boost Software License | Oui | Cross-Platform | C++ | C++ | Oui | Non | Oui | Oui | Oui | Non | Oui | Oui | Oui | |
Flux | Mike Innes | 2017 | MIT license | Oui | Linux, MacOS, Windows (Cross-platform) | Julia | Julia | Oui | Oui | Oui[12] | Oui | Oui | Non | Oui | Oui | ||
Intel Data Analytics Acceleration Library | Intel | 2015 | Apache 2.0 | Oui | Linux, macOS, Windows on Intel CPU[13] | C++, Python, Java | C++, Python, Java | Oui | Non | Non | Oui | Non | Oui | Oui | |||
Intel Math Kernel Library | Intel | Propriétaire | Non | Linux, macOS, Windows on Intel CPU[14] | C[15] | Oui[16] | Non | Non | Oui | Non | Oui[17] | Oui[17] | Non | ||||
Keras | François Chollet | 2015 | MIT license | Oui | Linux, macOS, Windows | Python | Python, R | Only if using Theano as backend | Can use Theano, Tensorflow or PlaidML as backends | Oui | Oui | Oui[18] | Oui | Oui | Non[19] | Oui[20] | Oui |
MATLAB + Deep Learning Toolbox | MathWorks | Propriétaire | Non | Linux, macOS, Windows | C, C++, Java, MATLAB | MATLAB | Non | Non | Train with Parallel Computing Toolbox and generate CUDA code with GPU Coder[21] | Oui[22] | Oui[23],[24] | Oui[23] | Oui[23] | Oui | With Parallel Computing Toolbox[25] | Oui | |
Microsoft Cognitive Toolkit (CNTK) | Microsoft Research | 2016 | MIT license[26] | Oui | Windows, Linux[27] (macOS via Docker on roadmap) | C++ | Python (Keras), C++, Command line[28], BrainScript[29] (.NET on roadmap[30]) | Oui[31] | Non | Oui | Oui | Oui[32] | Oui[33] | Oui[33] | Non[34] | Oui[35] | Non[36] |
Apache MXNet | Apache Software Foundation | 2015 | Apache 2.0 | Oui | Linux, macOS, Windows[37],[38], AWS, Android[39], iOS, JavaScript[40] | Small C++ core library | C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Clojure | Oui | On roadmap[41] | Oui | Oui[42] | Oui[43] | Oui | Oui | Oui | Oui[44] | Oui |
N2D2 | CEA | 2017 | CeCILL | Oui | Linux, Windows[45] | Python, C, C++, CUDA | Python, C++ | Oui | Oui | Oui | Oui | Oui | Non | Oui | Non | Oui | Oui |
Neural Designer | Artelnics | Propriétaire | Non | Linux, macOS, Windows | C++ | Graphical user interface | Oui | Non | Non | ? | ? | Non | Non | Non | ? | ||
OpenNN | Artelnics | 2003 | LGPL | Oui | Cross-platform | C++ | C++ | Oui | Non | Oui | ? | ? | Non | Non | Non | ? | |
PlaidML | Vertex.AI,Intel | 2017 | AGPL | Oui | Linux, macOS, Windows | Python, C++, OpenCL | Python, C++ | ? | Some OpenCL ICDs are not recognized | Non | Oui | Oui | Oui | Oui | Oui | Oui | |
PyTorch | Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook) | 2016 | Licence BSD | Oui | Linux, macOS, Windows | Python, C, C++, CUDA | Python, C++ | Oui | Via separately maintained package[46],[47] | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |
Apache SINGA | Apache Software Foundation | 2015 | Apache 2.0 | Oui | Linux, macOS, Windows | C++ | Python, C++, Java | Non | Supported in V1.0 | Oui | ? | Oui | Oui | Oui | Oui | Oui | |
TensorFlow | Google Brain | 2015 | Apache 2.0 | Oui | Linux, macOS, Windows[48], Android | C++, Python, CUDA | Python (Keras), C/C++, Java, Go, JavaScript, R, Julia, Swift | Non | On roadmap[49] but already with SYCL[50] support | Oui | Oui[51] | Oui[52] | Oui | Oui | Oui | Oui | Oui |
Theano | Université de Montréal | 2007 | Licence BSD | Oui | Cross-platform | Python | Python (Keras) | Oui | Under development[53] | Oui | Oui[54],[55] | Through Lasagne's model zoo[56] | Oui | Oui | Oui | Oui[57] | Non |
Torch | Ronan Collobert, Koray Kavukcuoglu, Clement Farabet | 2002 | Licence BSD | Oui | Linux, macOS, Windows[58], Android[59], iOS | C, Lua | Lua, LuaJIT[60], C, utility library for C++/OpenCL[61] | Oui | Third party implementations[62],[63] | Oui[64],[65] | Through Twitter's Autograd[66] | Oui[67] | Oui | Oui | Oui | Oui[58] | Non |
Wolfram Mathematica | Wolfram Research | 1988 | Propriétaire | Non | Windows, macOS, Linux, Cloud computing | C++, Wolfram Language, CUDA | Wolfram Language | Oui | Non | Oui | Oui | Oui[68] | Oui | Oui | Oui | Oui[69] | Oui |
Software | Creator | Initial Release | Software license[note 1] | Open source | Platform | Written in | Interface | OpenMP support | OpenCL support | CUDA support | Automatic differentiation[1] | Has pretrained models | Recurrent nets | Convolutional nets | RBM/DBNs | Parallel execution (multi node) | Actively Developed |
Logiciels associés
[modifier | modifier le code]- Neural Engineering Object (NENGO) - Un logiciel graphique et de script pour simuler des systèmes neuronaux à grande échelle
- Numenta Platform for Intelligent Computing - Implémentation open source de Numenta de leur modèle de mémoire temporelle hiérarchique
- OpenCV - OpenCV (Open Source Computer Vision Library) est une bibliothèque de logiciels de vision artificielle et d'apprentissage automatique sous licence BSD, avec environ 18 millions de téléchargements depuis Source Forge.
Interopérabilité entre les algorithmes d'apprentissage en profondeur
[modifier | modifier le code]Avec le développement de divers logiciels et formats de modèles d'apprentissage en profondeur, l'interopérabilité devient un problème majeur.
Nom du format | Objectif de conception | Compatible avec d'autres formats | Modèle DNN autonome | Pré-traitement et post-traitement | Configuration d'exécution pour le réglage et l'étalonnage | Interconnexion de modèle DNN | Plateforme commune |
---|---|---|---|---|---|---|---|
Tensorflow, Keras, Caffe, Torch, ONNX , | Formation à l'algorithme | Non | Pas de fichiers / séparés dans la plupart des formats | Non | Non | Non | Oui |
ONNX | Formation à l'algorithme | Oui | Pas de fichiers / séparés dans la plupart des formats | Non | Non | Non | Oui |
Voir également
[modifier | modifier le code]- Comparaison de logiciels d'analyse numérique
- Comparaison des progiciels statistiques
- Liste des ensembles de données pour la recherche d'apprentissage automatique
- Liste des logiciels d'analyse numérique
Notes
[modifier | modifier le code]- 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
Références
[modifier | modifier le code]- (en) Auteur inconnu, « Automatic differentiation in machine learning: a survey », .erreur modèle {{Lien arXiv}} : renseignez un paramètre «
|eprint
» - « Microsoft/caffe », GitHub
- « Caffe: a fast open framework for deep learning. », sur GitHub,
- « Caffe | Model Zoo », sur caffe.berkeleyvision.org
- GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning., Berkeley Vision and Learning Center, (lire en ligne)
- Preferred Networks Migrates its Deep Learning Research Platform to PyTorch, (lire en ligne)
- « Support for Open CL · Issue #27 · deeplearning4j/nd4j », sur GitHub
- « N-Dimensional Scientific Computing for Java »
- « Comparing Top Deep Learning Frameworks », Deeplearning4j
- Chris Nicholson et Adam Gibson, « Deeplearning4j Models »
- Deeplearning4j, « Deeplearning4j on Spark », Deeplearning4j
- « Metalhead », FluxML
- « Intel® Data Analytics Acceleration Library (Intel® DAAL) », software.intel.com,
- « Intel® Math Kernel Library (Intel® MKL) », software.intel.com,
- « Deep Neural Network Functions », software.intel.com,
- « Using Intel® MKL with Threaded Applications », sur software.intel.com,
- « Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast », sur software.intel.com,
- « Applications - Keras Documentation », sur keras.io
- « Is there RBM in Keras? · Issue #461 · keras-team/keras », sur GitHub
- « Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras », sur GitHub
- « GPU Coder - MATLAB & Simulink », sur MathWorks (consulté le )
- « Automatic Differentiation Background - MATLAB & Simulink », sur MathWorks, (consulté le )
- « Neural Network Toolbox - MATLAB », sur MathWorks (consulté le )
- « Deep Learning Models - MATLAB & Simulink », sur MathWorks (consulté le )
- « Parallel Computing Toolbox - MATLAB », sur MathWorks (consulté le )
- « CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub », sur GitHub
- « Setup CNTK on your machine », GitHub
- « CNTK usage overview », GitHub
- « BrainScript Network Builder », GitHub
- « .NET Support · Issue #960 · Microsoft/CNTK », GitHub
- « How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK », sur GitHub
- « Prebuilt models for image classification · Issue #140 · microsoft/CNTK », sur GitHub
- « CNTK - Computational Network Toolkit », Microsoft Corporation
- url=https://github.com/Microsoft/CNTK/issues/534
- « Multiple GPUs and machines », Microsoft Corporation
- « Disclaimer », CNTK TEAM
- « Releases · dmlc/mxnet », Github
- « Installation Guide — mxnet documentation », Readthdocs
- « MXNet Smart Device », ReadTheDocs
- « MXNet.js », Github
- « Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet », sur GitHub
- « — Redirecting to http://mxnet.io », sur mxnet.readthedocs.io
- « Model Gallery », sur GitHub
- « Run MXNet on Multiple CPU/GPUs with Data Parallel », sur GitHub
- « Installation de N2D2 », sur GitHub
- « OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander », sur GitHub,
- « OpenCL Support · Issue #488 · pytorch/pytorch », sur GitHub
- « TensorFlow 0.12 adds support for Windows »
- « tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub », sur GitHub, (consulté le )
- « OpenCL support · Issue #22 · tensorflow/tensorflow », sur GitHub
- « TensorFlow », sur TensorFlow
- « Models and examples built with TensorFlow. », sur GitHub,
- « Using the GPU — Theano 0.8.2 documentation »
- « gradient – Symbolic Differentiation — Theano 1.0.0 documentation », sur deeplearning.net
- https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
- « Recipes/modelzoo at master · Lasagne/Recipes · GitHub », sur GitHub
- « Using multiple GPUs — Theano 1.0.0 documentation », sur deeplearning.net
- « torch/torch7 », sur GitHub,
- « GitHub - soumith/torch-android: Torch-7 for Android », GitHub
- « Torch7: A Matlab-like Environment for Machine Learning »
- « GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library », GitHub
- « Cheatsheet », sur GitHub
- « cltorch », sur GitHub
- « Torch CUDA backend », sur GitHub
- « Torch CUDA backend for nn », sur GitHub
- « Autograd automatically differentiates native Torch code: twitter/torch-autograd », sur GitHub,
- « ModelZoo », sur GitHub
- « Wolfram Neural Net Repository of Neural Network Models », sur resources.wolframcloud.com
- « Parallel Computing—Wolfram Language Documentation », sur reference.wolfram.com