Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Keras

Keras est une API Python de haut niveau pour créer et entraîner des réseaux de neurones. Depuis Keras 3, le même code fonctionne avec JAX, TensorFlow ou PyTorch.

Keras est une API Python open source de haut niveau pour créer et entraîner des réseaux neuronaux. François Chollet l’a publiée en mars 2015 pour faciliter la rédaction d’expériences d’apprentissage profond : un modèle est une pile ou un graphe de couches, compile définit l’optimiseur, la fonction de perte et les métriques, et fit exécute la boucle d’entraînement. Keras est devenue l’API officielle de haut niveau de TensorFlow. Keras 3, publiée en novembre 2023, exécute le même code de modèle sur JAX, TensorFlow ou PyTorch, selon le backend choisi à l’importation de Keras. Son code court et lisible en fait un choix fréquent pour l’enseignement, le prototypage et les compétitions Kaggle, ainsi que pour les modèles de production en classification d’images et en traitement automatique du langage naturel.

Fonctionnement de Keras#

Un modèle Keras est composé de couches telles que Dense, Conv2D, LSTM et MultiHeadAttention, chacune avec ses propres poids. Keras propose trois façons de les assembler : l’API Sequential pour une simple pile, l’API fonctionnelle pour les graphes avec des branches, des couches partagées ou plusieurs entrées, et la création de sous-classes de keras.Model pour contrôler entièrement la propagation avant. Un modèle compilé s’entraîne avec fit, qui gère le traitement par lots, la rétropropagation, les métriques, les données de validation et les rappels pour les points de contrôle ou l’arrêt anticipé. Il évalue ensuite de nouvelles données avec evaluate et predict. Ce code entraîne un petit classificateur de chiffres sur le jeu de données MNIST fourni avec Keras :

import os

os.environ["KERAS_BACKEND"] = "torch"  # or "jax" or "tensorflow", set before importing Keras

import keras

# MNIST handwritten digits, with pixels scaled to [0, 1]
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Define the model as a stack of layers
model = keras.Sequential(
    [
        keras.Input(shape=(28, 28)),
        keras.layers.Flatten(),
        keras.layers.Dense(128, activation="relu"),
        keras.layers.Dense(10, activation="softmax"),
    ]
)

# Configure training, then train and evaluate
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
model.fit(x_train, y_train, epochs=2, batch_size=64, verbose=0)
loss, accuracy = model.evaluate(x_test, y_test, verbose=0)
print(f"Test accuracy: {accuracy:.3f}")

Après deux époques, il affiche une précision de test d’environ 0.96. Remplacer "torch" par "jax" ou "tensorflow" exécute le même modèle sur un autre framework sans modifier aucune autre ligne.

Keras 3 et ses backends#

Keras fonctionnait initialement sur plusieurs moteurs, dont Theano, TensorFlow et CNTK. Keras 2.3, publiée en septembre 2019, a été sa dernière version multibackend. Le développement a ensuite été intégré à TensorFlow sous la forme de tf.keras. Keras 3 a rétabli l’indépendance vis-à-vis du backend : les couches et les modèles s’appuient sur keras.ops, un ensemble d’opérations de type NumPy implémentées par chaque backend. Un modèle enregistré au format .keras peut donc être rechargé et entraîné avec n’importe quel backend. Avec le backend PyTorch, un modèle Keras est également un torch.nn.Module utilisable par une boucle d’entraînement PyTorch personnalisée. Depuis Keras 3.8, un backend OpenVINO réservé à l’inférence exécute les modèles entraînés sur le matériel Intel.

Depuis TensorFlow 2.16, l’installation de TensorFlow installe Keras 3. Le code qui nécessite encore Keras 2 utilise le paquet distinct tf_keras. Les convertisseurs de modèles ciblent aussi Keras : quand Ultralytics YOLO exporte YOLO26 vers un TensorFlow SavedModel, le convertisseur onnx2tf reconstruit le réseau PyTorch à partir de son graphe ONNX sous forme de modèle Keras, couche par couche, avant de l’enregistrer.

Modèles préentraînés dans KerasHub#

KerasHub propose des implémentations Keras 3 d’architectures populaires avec des points de contrôle préentraînés, comme ResNet pour les images, BERT pour le texte et les grands modèles de langage Gemma. Un nom de préréglage charge un modèle prêt pour l’apprentissage par transfert : keras_hub.models.ImageClassifier.from_preset("resnet_50_imagenet") renvoie un classificateur entraîné sur ImageNet, que le réglage fin adapte à un nouveau jeu de données avec le même appel fit qu’auparavant. Comme le reste de Keras 3, les modèles KerasHub fonctionnent avec chacun des trois backends d’entraînement.

Keras, TensorFlow et PyTorch : comparaison#

  • TensorFlow : un framework complet doté de son propre environnement d’exécution, de son compilateur et d’outils de déploiement comme TensorFlow Serving et LiteRT. Keras est l’API avec laquelle de nombreux utilisateurs de TensorFlow écrivent leurs modèles, et TensorFlow est l’un des moteurs qui exécute le code Keras.
  • PyTorch : un framework dans lequel les utilisateurs écrivent généralement eux-mêmes la boucle d’entraînement ou utilisent une bibliothèque comme PyTorch Lightning. Keras fournit la boucle via fit et peut utiliser PyTorch comme backend ; les deux ne s’excluent donc pas mutuellement.
  • JAX : la bibliothèque de Google qui propose des transformations de fonctions composables pour la différentiation, la compilation XLA et la vectorisation. JAX ne fournit aucune API intégrée pour les couches ou l’entraînement ; Keras est l’une des façons d’en obtenir une.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique