Glossaire

Keras

Découvre Keras, une API Python conviviale qui simplifie l'apprentissage automatique grâce à sa modularité, sa flexibilité et sa prise en charge multi-supports.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Keras est une interface de programmation d'application (API) de haut niveau pour les réseaux neuronaux (NN), écrite dans le langage populaire. Python populaire. Conçue en mettant l'accent sur l'expérience utilisateur, elle vise à permettre une expérimentation rapide et à réduire la charge cognitive associée à la construction de modèles complexes d'apprentissage profond (DL). Keras agit comme une interface conviviale pour divers cadres DL sous-jacents, permettant aux développeurs et aux chercheurs de construire et d'entraîner des modèles à l'aide d'une syntaxe simplifiée et cohérente. Cela rend l'apprentissage machine (ML) avancé plus accessible, favorisant un développement et une itération rapides.

Caractéristiques principales de Keras

Keras est largement adopté en raison de plusieurs fonctionnalités de base qui simplifient le processus de développement :

  • Convivialité : Conçu pour les êtres humains, pas pour les machines. Keras propose des API simples et cohérentes et fournit un retour d'information clair en cas d'erreur de l'utilisateur. Cela accélère considérablement la courbe d'apprentissage pour les débutants.
  • Modularité et composabilité : Les modèles Keras sont construits en connectant des blocs de construction configurables (comme des couches, des optimiseurs, des fonctions d'activation) avec un minimum de restrictions. Ce concept de modularité facilite la création et la réutilisation des composants.
  • Extensibilité facile : De nouveaux blocs de construction tels que les couches, les fonctions de perte et les métriques peuvent être facilement ajoutés, ce qui le rend flexible pour la recherche et le développement. Cela permet de mettre en œuvre de nouvelles idées sans avoir à se plonger dans les complexités du cadre de base.
  • Prise en charge multi-backend : Keras peut fonctionner au-dessus de différents frameworks DL, notamment . TensorFlow, PyTorchet JAX. Cela permet aux utilisateurs de changer de backend sans modifier leur code Keras de base, offrant ainsi une flexibilité dans le déploiement et les environnements de calcul (comme les CPU ou les GPU).

Keras vs. les autres frameworks

Keras fonctionne à un niveau d'abstraction plus élevé que les frameworks tels que l'API de base TensorFlow ou... PyTorch. Alors que ces frameworks de niveau inférieur offrent un contrôle plus granulaire sur l'architecture du modèle et les boucles d'entraînement, Keras donne la priorité à la facilité d'utilisation et à la vitesse de développement. Keras est donc particulièrement bien adapté au prototypage rapide, à l'enseignement et à l'application d'architectures de modèles standard.

En revanche, des cadres comme Ultralytics YOLO sont souvent conçus spécialement et hautement optimisés pour des tâches spécifiques de vision par ordinateur (VA) telles que la détection d'objets, la segmentation d'images et l'estimation de la pose. Ces frameworks spécialisés visent à fournir des performances de pointe dans leurs domaines, alors que Keras fournit une boîte à outils plus générale pour construire une plus grande variété de types de réseaux neuronaux. Comparer différents modèles comme YOLOv8 vs YOLOv10 implique souvent d'évaluer des mesures de performance spécifiques à une tâche.

Applications dans le monde réel

Keras est polyvalent et trouve des applications dans de nombreux domaines. Sa facilité de mise en œuvre en fait un choix populaire pour les projets de l'industrie comme pour la recherche universitaire. Voici quelques exemples concrets :

D'autres applications courantes comprennent la création de systèmes de recommandation, l'analyse de séries temporelles et l'expérimentation de techniques de modélisation générative telles que les réseaux adverbiaux génératifs (GAN).

Keras et Ultralytics

Alors qu'Ultralytics fournit des modèles hautement optimisés et à la pointe de la technologie comme le Ultralytics YOLOv8 et une plateforme intégrée, Ultralytics HUB, pour rationaliser la formation et le déploiement des modèles, la familiarité avec Keras reste précieuse pour tout praticien de la ML. Keras offre une compréhension fondamentale de la construction de divers réseaux neuronaux à partir de zéro, en complément des modèles spécialisés et performants fournis par Ultralytics. Keras et Ultralytics contribuent tous deux de manière significative à rendre l'intelligence artificielle (IA) plus accessible, bien qu'à travers des approches différentes - Keras grâce à son API généraliste et facile à utiliser, et Ultralytics qui se concentre sur des modèles et des outils de vision efficaces et à la pointe de la technologie. Les modèles construits avec Keras peuvent souvent être exportés dans des formats standard tels que ONNX (Open Neural Network Exchange), ce qui permet l'interopérabilité et le déploiement sur diverses plateformes, à l'instar des options de déploiement de modèles disponibles pour les modèles Ultralytics . Comprendre Keras peut également fournir un contexte permettant d'apprécier les choix de conception dans des bibliothèques plus spécialisées.

En résumé, Keras se distingue comme une bibliothèque puissante et centrée sur l'utilisateur qui simplifie considérablement le développement et l'itération des modèles d'apprentissage profond. L'accent mis sur la facilité d'utilisation, la flexibilité et la prise en charge multi-supports en fait un outil clé de l'écosystème de l'IA et de la ML, bénéfique à la fois pour les débutants qui apprennent les principes fondamentaux et pour les experts qui mènent des expérimentations rapides. Pour obtenir des guides détaillés, des tutoriels et des références d'API, consulte la documentation officielle de Keras sur le site Web de Keras.

Tout lire