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.

Keras

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

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.

Google Cloud ML

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.

AWS Sage Maker

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.

Azure Studio d'apprentissage automatique

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

IBM Watson ML

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.

Résumez cet article avec :