Pourquoi utiliser Keras ?

Les frameworks de deep learning sont de nos jours innombrables. Pourquoi utiliser Keras plutôt qu’un autre ? Voici quelques domaines dans lesquels la comparaison est à l’avantage Keras.

Keras met en avant l’expérience des développeurs

Keras  est une API développée pour les humains, pas pour les machines. Elle met l’expérience utilisateur au centre de tout. Keras suit les meilleures pratiques afin de réduire la charge cognitive : elle propose une API simple et cohérente, minimisant le nombre d’actions requises pour les cas les plus communs, et les messages d’erreur sont suffisamment explicites pour permettre une résolution simple des problèmes.

Cela rend Keras facile à apprendre et à utiliser. En tant qu’utilisateur de Keras, vous êtes plus productif, ce qui vous permet de tester plus d’idées et plus rapidement que vos concurrents, ce qui vous permet de gagner les compétitions de Machine Learning.

Cette simplicité d’utilisation n’impacte pas la flexibilité : Keras s’intègre avec les outils de Deep Learning (en particulier Tensorflow) à bas niveau, ce qui vous permet d’implémenter toutes les fonctionnalités que vous souhaiteriez utiliser. Keras s’intègre par exemple dans votre flux de travail sous TensorFlow, en tant que tf.keras . Keras est très largement utilisé par le monde industriel tout comme la communauté de chercheurs.

En novembre 2017, nous comptabilisions plus de 200 000 utilisateurs de Keras, ce qui en fait l’outil le plus utilisé dans le monde industriel et dans la recherche, après TensorFlow lui même. (et Keras est habituellement utilisé conjointement avec TensrorFlow).

Vous interagissez déjà probablement sans le savoir avec des fonctionnalités conçues sous Keras, puisque la librairie est utilisée par Netflix, Uber, Yelp, Instacart, Zocdoc, Square et bien d’autres. Keras est surtout populaire chez les startups qui placent le Deep Learning au centre de leurs produits.

Keras est également l’un des outils favoris des chercheurs, il s’agit de la deuxième mention la plus populaire dans les papiers scientifiques mis en ligne sur arXiv.org:

Keras est également utilisé par des chercheurs de grandes institutions scientifiques, comme le CERN et la NASA.

Keras permet de convertir facilement des modèles en des produits finis

Les modèles peuvent être facilement déployés sur une plus large gamme de plateformes que les autres outils de Deep Learning:

  • Sur iOS, via Apple CoreML (le support de Keras est officiellement fourni par Apple).
  • Sur Android, avec le runtime TensorFlow pour android ( exemple : l’app Not Hotdog)
  • Dans le navigateur, avec des librairies supportant le GPU comme Keras.js et WebDNN.
  • Sur Google Cloud, avec TensorFlow.
  • En moteur d’application web Python (par exemple avec le framework Flask)
  • Sur JVM, avec la fonctionnalité d’import de modèle DL4J fournie pa SkyMind
  • Sur Raspberry PI

Keras supporte plusieurs moteurs de Deep Learning et ne vous enferme pas dans un écosystème.

Vos modèles Keras peuvent être développés avec l’ensemble de ces moteurs. N’importe quel modèle Keras qui n’utilise que des couches standard sera portable entre ces différents moteurs. Vous pouvez notamment entraîner un modèle avec un moteur et le charger dans un autre (par exemple pour le déploiement de votre application).

Les moteurs supportés sont :

TensorFlow
Microsoft CNTK
Theano
Amazon travaille actuellement à l’intégration de MXNet avec Keras.

Vos modèles Keras peuvent être entraînés sur de nombreuses plateformes :

  • GPUs NVIDIA
  • TPUs GOOGLE, avec le moteur TensorFlow et Google Cloud
  • Les GPU supportant OpenCL, tels que ceux d’Amazon, avec le moteur Keras PlaidML

Keras supporte le multi-GPU et l’entrainement distribué

  • Keras supporte nativement le multi-GPU et le calcul parallèle
  • Horovod, framework d’entraînement distribué d’Uber supporte les modèles Keras
  • Les modèles Keras peuvent être convertis en Estimateurs TensorFlow et entraînés sur des clusters de GPUs sur Google Cloud
  • Keras peut tourner sur Spark, avec Dist-Keras (du CERN) et Elephas

Le développement de Keras est soutenu les principales sociétés de l’écosystème du Deep Learning

Keras est principalement soutenu par Google, et l’API Keras est fournie avec TensorFlow, en tant que tf.keras. Microsoft maintient la couche d’intégration Keras de CNT. Amazon AWS développe un support pour MXNet. D’autres sociétés contribuent, notamment NVIDIA, Uber et Apple (avec CoreML).

Vous consultez la traduction française de la documentation officielle de Keras réalisée par ActuIA avec l’accord de François Chollet. La version originale de cette page peut être consultée à l’adresse : https://keras.io/why-use-keras/