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 |
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 |
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 |
|eprint
»