TensorFlow contre Theano contre Torch vs Keras : Bibliothèque d’apprentissage profond
L'intelligence artificielle gagne en popularité depuis 2016 : 20 % des grandes entreprises utilisent l'IA dans leurs activités (McKinsey rapport, 2018). Selon le même rapport, l’IA peut créer une valeur substantielle dans tous les secteurs. Dans le secteur bancaire, par exemple, le potentiel de l’IA est estimé à $300 milliards, dans le commerce de détail, ce chiffre monte en flèche $600 de dollars.
Pour libérer la valeur potentielle de l’IA, les entreprises doivent choisir le bon cadre d’apprentissage en profondeur. Dans ce tutoriel, vous découvrirez les différentes bibliothèques disponibles pour effectuer des tâches de deep learning. Certaines bibliothèques existent depuis des années, tandis que de nouvelles bibliothèques comme TensorFlow ont vu le jour ces dernières années.
8 meilleures bibliothèques/frameworks d'apprentissage profond
Dans cette liste, nous comparerons les meilleurs frameworks de Deep Learning. Tous sont open source et populaires dans la communauté des data scientists. Nous comparerons également les fournisseurs de services ML populaires
Torch
Torch est une ancienne bibliothèque open source d'apprentissage automatique. Sa première version date d'il y a 15 ans. Son langage de programmation principal est Lua, mais elle possède une implémentation en C. Comparaison avec PyTorContrairement à TensorFlow, il prend en charge une vaste bibliothèque d'algorithmes d'apprentissage automatique, y compris l'apprentissage profond. Il prend en charge l'implémentation CUDA pour le calcul parallèle.
TorL'outil d'apprentissage profond ch est utilisé par la plupart des grands laboratoires tels que Facebook, Google, Twitter, Nvidia, etc. Torch possède une bibliothèque dans Python nomme Pytorch.
Inférer.net
Infer.net est développé et maintenu par Microsoft. Infer.net est une bibliothèque axée principalement sur la statistique bayésienne. Infer.net est un outil de visualisation pour le Deep Learning conçu pour offrir aux praticiens des algorithmes de pointe pour la modélisation probabiliste. La bibliothèque contient outils analytiques telles que l'analyse bayésienne, la chaîne de Markov cachée, le clustering.
Keras
Keras est un Python cadre pour l’apprentissage profond. Il s'agit d'une bibliothèque pratique pour construire n'importe quel algorithme d'apprentissage en profondeur. L'avantage de Keras est qu'il utilise le même Python code à exécuter sur CPU ou GPU. En outre, l'environnement de codage est pur et permet de former des algorithmes de pointe pour la vision par ordinateur, la reconnaissance de texte, entre autres.
Keras a été développé par François Chollet, chercheur à GoogleKeras est utilisé dans des organisations de renom telles que le CERN, Yelp, Square ou Google, Netflixet Uber.
Theano
Theano est une bibliothèque d'apprentissage profond développée par l'Université de Montréal en 2007. Comparant Theano à TensorFlow, elle offre un calcul rapide et peut être exécutée à la fois sur CPU et GPU. Theano a été développé pour entraîner des algorithmes de réseaux neuronaux profonds.
Microsoft Boîte à outils cognitive (CNTK)
Microsoft La boîte à outils, anciennement connue sous le nom de CNTK, est une bibliothèque d'apprentissage en profondeur développée par Microsoft. Selon Microsoft, la bibliothèque est parmi les plus rapides du marché. Microsoft Toolkit est une bibliothèque open source, bien que Microsoft l'utilise largement pour son produit comme Skype, Cortana, Bing et Xbox. La boîte à outils est disponible à la fois dans Python et C++.
MXNet
MXnet est une bibliothèque d'apprentissage profond récente. Il est accessible avec plusieurs langages de programmation dont C++, Julie, Python et R. MXNet peut être configuré pour fonctionner à la fois sur CPU et GPU. MXNet comprend une architecture d'apprentissage profond de pointe telle que le réseau neuronal convolutionnel et la mémoire à long terme. MXNet est conçu pour fonctionner dans harmony avec une infrastructure cloud dynamique. Le principal utilisateur de MXNet est Amazon
Caffe
Caffe est une bibliothèque construite par Yangqing Jia alors qu'il était doctorant à Berkeley. En comparant Caffe à TensorFlow, Caffe est écrit en C++ et peut effectuer des calculs à la fois sur le CPU et le GPU. Les principales utilisations de Caffe sont les réseaux neuronaux convolutionnels. Cependant, en 2017, Facebook a étendu Caffe avec une architecture d'apprentissage plus profonde, y compris le réseau neuronal récurrent. Caffe est utilisé par les universitaires et les startups, mais aussi par certaines grandes entreprises comme Yahoo!.
TensorFlow
TensorFlow est Google Projet open source. TensorFlow est actuellement la bibliothèque d'apprentissage profond la plus connue. Elle a été rendue publique fin 2015.
TensorFlow est développé en C++ et a pratique Python API, bien que C++ Des API sont également disponibles. Des entreprises de renom comme Airbus, Google, IBM et ainsi de suite utilisent TensorFlow pour produire des algorithmes d'apprentissage en profondeur.
TensorFlow contre Theano contre Torch vs Keras vs infer.net vs CNTK vs MXNet vs Caffe : Principales différences
| Bibliothèque | Plateforme complète | Écrit en | Prise en charge de Cuda | Exécution parallèle | A formé des modèles | RNN | CNN |
|---|---|---|---|---|---|---|---|
| Torch | Linux, macOS, Windows | Lua | Oui | Oui | Oui | Oui | Oui |
| Inférer.Net | Linux, macOS, Windows | Visual Studio | Non | Non | Non | Non | Non |
| Keras | Linux, macOS, Windows | Python | Oui | Oui | Oui | Oui | Oui |
| Theano | Évaluation Multiplateforme | Python | Oui | Oui | Oui | Oui | Oui |
| TensorFlow | Linux, macOS, Windows, Android | C++, Python, CUDA | Oui | Oui | Oui | Oui | Oui |
| BOÎTE À OUTILS COGNITIVE MICROSOFT | Linux, Windows, Mac avec Docker | C++ | Oui | Oui | Oui | Oui | Oui |
| Caffe | Linux, macOS, Windows | C++ | Oui | Oui | Oui | Oui | Oui |
| MXNet | Linux, Windows, macOS, AndroidIOS, Javascript | C++ | Oui | Oui | Oui | Oui | Oui |
Verdict
TensorFlow est la meilleure bibliothèque de toutes car elle est conçue pour être accessible à tous. La bibliothèque Tensorflow intègre différentes API pour créer une architecture d'apprentissage en profondeur à grande échelle comme CNN ou RNN. TensorFlow est basé sur le calcul de graphes, il permet au développeur de visualiser la construction du réseau de neurones avec Tensorbad. Cet outil est utile pour déboguer le programme. Enfin, Tensorflow est conçu pour être déployé à grande échelle. Il fonctionne sur CPU et GPU.
Tensorflow àtracElle est la plus populaire sur GitHub par rapport aux autres bibliothèques d'apprentissage profond.
Comparaison de l'apprentissage automatique en tant que service
Voici 4 fournisseurs de services DL populaires
Google Cloud ML
Google propose un modèle pré-entraîné pour développeurs disponible dans Cloud AutoML. Cette solution s'adresse aux développeurs n'ayant pas de solides connaissances en la matière. machine learningLes développeurs peuvent utiliser des technologies de pointe GoogleLe modèle pré-entraîné de [nom de l'entreprise] sur leurs données permet à tous les développeurs d'entraîner et d'évaluer n'importe quel modèle en quelques minutes seulement.
Google Fournit actuellement une API REST pour la vision par ordinateur, la reconnaissance vocale, la traduction et le traitement automatique du langage naturel.
L'utilisation de Google Cloud, vous pouvez former un framework d'apprentissage automatique basé sur TensorFlow, Scikit-learn, XGBoost ou Keras. Google Cloud l'apprentissage automatique entraînera les modèles sur son cloud.
L'avantage d'utiliser Google Le cloud computing simplifie le déploiement du machine learning en production. Plus besoin de configurer de conteneurs Docker : le cloud gère l’infrastructure et alloue les ressources (CPU, GPU et TPU). Grâce au calcul parallèle, l’entraînement est plus rapide.
AWS Sage Maker
Un concurrent majeur de Google Cloud is Amazon nuage, AWS. Amazon vous avez développé Amazon SageMaker pour permettre aux data scientists et aux développeurs de créer, former et mettre en production n'importe quel modèle d'apprentissage automatique.
SageMaker est disponible dans un Jupyter Notebook et comprend la bibliothèque d'apprentissage automatique la plus utilisée, TensorFlow, MXNet, Scikit-learn, entre autres. Les programmes écrits avec SageMaker sont automatiquement exécutés dans les conteneurs Docker. Amazon gère l’allocation des ressources pour optimiser la formation et le déploiement.
Amazon fournit une API aux développeurs afin d'ajouter de l'intelligence à leurs applications. Dans certains cas, il n'est pas nécessaire de réinventer la roue en créant de nouveaux modèles à partir de zéro alors qu'il existe de puissants modèles pré-entraînés dans le cloud. Amazon fournit des services API pour la vision par ordinateur, les chatbots conversationnels et les services linguistiques :
Les trois principales API disponibles sont :
- Amazon Reconnaissance: fournit une reconnaissance d'image et de vidéo à une application
- Amazon Comprendre: Effectuer du text mining et du traitement du langage neuronal pour, par exemple, automatiser le processus de vérification de la légalité des documents financiers
- Amazon Lex : Ajouter un chatbot à une application
Azure Studio d'apprentissage automatique
L'une des approches les plus conviviales de l'apprentissage automatique est probablement Azure Studio d'apprentissage automatique. L’avantage majeur de cette solution est qu’aucune connaissance préalable en programmation n’est requise.
Microsoft Azure Machine Learning Studio est un outil collaboratif par glisser-déposer permettant de créer, former, évaluer et déployer des solutions de machine learning. Le modèle peut être déployé efficacement sous forme de services Web et utilisé dans plusieurs applications comme Excel.
Azure L'interface d'apprentissage automatique est interactive, permettant à l'utilisateur de construire un modèle simplement par glisser-déposer.ping éléments rapidement.
Lorsque le modèle est prêt, le développeur peut le sauvegarder et le transférer vers Azure Galerie or Azure Marché.
Azure L'apprentissage automatique peut être intégré à R ou Python leur package intégré personnalisé.
IBM Watson ML
Watson Studio peut simplifier les projets de données grâce à un processus rationalisé qui permet, par exemple, de réaliser des projets plus complexes.tracTirer profit des données et en extraire des informations précieuses pour aider l'entreprise à gagner en efficacité et en rapidité. Watson Studio offre un environnement collaboratif et intuitif de science des données et d'apprentissage automatique pour créer et entraîner des modèles, préparer et analyser des données, et partager des informations, le tout au même endroit. Watson Studio est facile à utiliser grâce à son interface intuitive de type « glisser-déposer ».
Watson Studio prend en charge certains des frameworks les plus populaires tels que Tensorflow, Keras, Pytorch, Caffe et peut déployer un algorithme d'apprentissage en profondeur sur les derniers GPU de Nvidia pour accélérer la modélisation.
Verdict
De notre point de vue, Google La solution cloud est celle qui est la plus recommandée. Google La solution cloud offre des prix inférieurs d'au moins 30 % à ceux d'AWS pour le stockage de données et les solutions d'apprentissage automatique. Google fait un excellent travail pour démocratiser l'IA. Elle a développé un langage open source, TensorFlow, optimisé entrepôt de données La connexion offre des outils formidables, allant de la visualisation et de l'analyse des données à l'apprentissage automatique. De plus, Google La console est ergonomique et bien plus complète qu'AWS ou Windows.






