Keras est une bibliothèque logicielle open source qui fournit une interface Python pour les réseaux de neurones artificiels. Elle sert d'interface pour la bibliothèque TensorFlow. Keras a été publiée pour la première fois en 2015 et a été conçue pour permettre une expérimentation rapide avec les réseaux de neurones profonds, en mettant l'accent sur la convivialité, la modularité et l'extensibilité. Le nom Keras dérive du mot grec ancien κέρας (keras), signifiant « corne ».
Historique
Keras a été développée dans le cadre des efforts de recherche du projet ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System). Son principal auteur et mainteneur est François Chollet, ingénieur chez Google jusqu'en 2024. Initialement, Keras était un logiciel indépendant, mais il a ensuite été intégré à la bibliothèque TensorFlow. Jusqu'à la version 2.3, Keras prenait en charge plusieurs backends, notamment TensorFlow, Microsoft Cognitive Toolkit, Theano et PlaidML. De la version 2.4 jusqu'à la version 3.0, seul TensorFlow était pris en charge. À partir de la version 3.0 (et de sa version préliminaire, Keras Core), Keras est redevenu multi-backend, prenant en charge TensorFlow, JAX et PyTorch. Keras 3 est devenue la version par défaut pour TensorFlow 2.16 et versions ultérieures, mais Keras 2 peut toujours être utilisée.
Fonctionnalités
Keras contient de nombreuses implémentations de blocs de construction couramment utilisés pour les réseaux de neurones, tels que les couches, les objectifs, les fonctions d'activation, les optimiseurs, ainsi qu'une multitude d'outils pour travailler avec des données d'images et de texte. Cela simplifie la programmation des réseaux de neurones profonds. En plus des réseaux de neurones standard, Keras prend en charge les réseaux de neurones convolutifs et récurrents. Elle prend également en charge d'autres couches utilitaires courantes comme le dropout, la normalisation par lots et le pooling. Keras permet aux utilisateurs de produire des modèles profonds sur les smartphones (iOS et Android), sur le web ou sur la machine virtuelle Java. Elle permet également l'utilisation de l'entraînement distribué de modèles d'apprentissage profond sur des clusters d'unités de traitement graphique (GPU) et d'unités de traitement tensoriel (TPU).
Adoption et impact
Keras est devenue l'une des API de réseaux de neurones de haut niveau les plus largement utilisées, en particulier dans la communauté de l'apprentissage automatique. Son intégration avec TensorFlow en a fait un outil standard pour de nombreuses applications de apprentissage profond. La bibliothèque est connue pour sa facilité d'utilisation, ce qui a contribué à sa popularité auprès des débutants comme des chercheurs. Keras est également utilisée dans divers projets d'intelligence artificielle, y compris ceux impliquant l'IA générative et les grands modèles de langage. La flexibilité de la bibliothèque et son support de multiples backends en ont fait un choix polyvalent pour développer et déployer des réseaux de neurones.
Voir aussi
- Comparaison des logiciels d'apprentissage profond
- Réseau de neurones
- TensorFlow
- PyTorch
- JAX
Références
- Documentation de Keras et site web officiel
- Notes de version de TensorFlow
- Publications et conférences de François Chollet