# Comparaison de logiciels d'apprentissage profond

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

| Nom | Créateur | 1ère publication | Licence | Ouvert | Plate-forme | Langage | Interface | OpenMP | OpenCL | CUDA | Differentiation | 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 | C++ | Python, MATLAB, C++ | Oui | Under development | Oui | Oui | Oui | Oui | Oui | Non | ? | Non |
| Chainer | Preferred Networks | 2015 | Licence BSD | Oui | Linux, macOS | Python | Python | Non | Non | Oui | Oui | Oui | Oui | Oui | Non | Oui | Non |
| 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 | Oui$^,$ | Computational Graph | Oui | Oui | Oui | Oui | Oui | |
| 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 | Oui | Oui | Non | Oui | Oui |
| Intel Data Analytics Acceleration Library | Intel | 2015 | Apache 2.0 | Oui | Linux, macOS, Windows on Intel CPU | 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 | | C | Oui | Non | Non | Oui | Non | Oui | Oui | | 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 | Oui | Oui | Non | Oui | 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 | Oui | Oui$^,$ | Oui | Oui | Oui | With Parallel Computing Toolbox | Oui |
| Microsoft Cognitive Toolkit (CNTK) | Microsoft Research | 2016 | MIT license | Oui | Windows, Linux (macOS via Docker on roadmap) | C++ | Python (Keras), C++, Command line, BrainScript (.NET on roadmap) | Oui | Non | Oui | Oui | Oui | Oui | Oui | Non | Oui | Non |
| Apache MXNet | Apache Software Foundation | 2015 | Apache 2.0 | Oui | Linux, macOS, Windows$^,$, AWS, Android, iOS, JavaScript | Small C++ core library | C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Clojure | Oui | On roadmap | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
| N2D2 | CEA | 2017 | CeCILL | Oui | Linux, Windows | 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$^,$ | 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, Android | C++, Python, CUDA | Python (Keras), C/C++, Java, Go, JavaScript, R, Julia, Swift | Non | On roadmap but already with SYCL support | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
| Theano | Université de Montréal | 2007 | Licence BSD | Oui | Cross-platform | Python | Python (Keras) | Oui | Under development | Oui | Oui$^,$ | Through Lasagne's model zoo | Oui | Oui | Oui | Oui | Non |
| Torch | Ronan Collobert, Koray Kavukcuoglu, Clement Farabet | 2002 | Licence BSD | Oui | Linux, macOS, Windows, Android, iOS | C, Lua | Lua, LuaJIT, C, utility library for C++/OpenCL | Oui | Third party implementations$^,$ | Oui$^,$ | Through Twitter's Autograd | Oui | Oui | Oui | Oui | Oui | 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 | Oui | Oui | Oui | Oui | Oui |
| Software | Creator | Initial Release | Software license | Open source | Platform | Written in | Interface | OpenMP support | OpenCL support | CUDA support | Automatic differentiation | 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 |

## Voir également

* 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