Comparaison de logiciels d'apprentissage profond
From Wikipedia, the free encyclopedia
Le tableau suivant compare les cadres logiciels, bibliothèques et programmes informatiques notables pour l'apprentissage en profondeur.
| 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 |
| Aidge (ex 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
- 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
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 |