Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Keras

Keras ist eine hochrangige Python-API zum Erstellen und Trainieren neuronaler Netze. Seit Keras 3 lässt sich derselbe Code mit JAX, TensorFlow oder PyTorch ausführen.

Keras ist eine quelloffene, hochrangige Python-API zum Erstellen und Trainieren von neuronalen Netzen. François Chollet veröffentlichte Keras im März 2015, um Experimente im Deep Learning schnell umsetzen zu können: Ein Modell ist ein Stapel oder Graph aus Schichten, compile legt den Optimierer, die Verlustfunktion und die Metriken fest, und fit führt die Trainingsschleife aus. Keras wurde zur offiziellen High-Level-API von TensorFlow. Keras 3, veröffentlicht im November 2023, führt denselben Modellcode auf JAX, TensorFlow oder PyTorch aus, je nachdem, welches Framework beim Import von Keras ausgewählt wird. Dank seines kurzen, gut lesbaren Codes wird Keras häufig zum Lernen, für Prototypen und Kaggle-Wettbewerbe sowie für produktive Modelle zur Bildklassifizierung und Verarbeitung natürlicher Sprache verwendet.

So funktioniert Keras#

Ein Keras-Modell besteht aus Schichten wie Dense, Conv2D, LSTM und MultiHeadAttention, die jeweils eigene Gewichte enthalten. Keras bietet drei Möglichkeiten, sie zusammenzusetzen: die API Sequential für einen einfachen Stapel, die funktionale API für Graphen mit Verzweigungen, gemeinsam genutzten Schichten oder mehreren Eingaben und das Subclassing von keras.Model für die vollständige Kontrolle über den Forward-Pass. Ein kompiliertes Modell wird mit fit trainiert. Dabei werden Batchverarbeitung, Backpropagation, Metriken, Validierungsdaten und Callbacks für Checkpoints oder Early Stopping verwaltet. Anschließend bewertet es neue Daten mit evaluate und predict. Dieser Code trainiert einen kleinen Ziffernklassifikator mit dem in Keras enthaltenen MNIST-Datensatz:

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}")

Nach zwei Epochen gibt der Code eine Test-Genauigkeit von etwa 0,96 aus. Wenn du "torch" in "jax" oder "tensorflow" änderst, wird dasselbe Modell ohne weitere Codeänderungen auf einem anderen Framework ausgeführt.

Keras 3 und seine Backends#

Keras lief ursprünglich auf mehreren Engines, darunter Theano, TensorFlow und CNTK. Keras 2.3, veröffentlicht im September 2019, war die letzte Version mit mehreren Backends. Danach wurde die Entwicklung in TensorFlow als tf.keras integriert. Keras 3 stellte die Unabhängigkeit vom Backend wieder her: Schichten und Modelle werden mit keras.ops geschrieben, einer NumPy-ähnlichen Gruppe von Operationen, die jedes Backend implementiert. Daher kann ein im Format .keras gespeichertes Modell mit jedem Backend neu geladen und trainiert werden. Mit dem PyTorch-Backend ist ein Keras-Modell außerdem ein torch.nn.Module, das eine benutzerdefinierte PyTorch-Trainingsschleife verwenden kann. Seit Keras 3.8 führt ein reines Inferenz-Backend für OpenVINO trainierte Modelle auf Intel-Hardware aus.

Seit TensorFlow 2.16 wird bei der Installation von TensorFlow auch Keras 3 installiert. Code, der weiterhin Keras 2 benötigt, verwendet das separate Paket tf_keras. Modellkonverter unterstützen ebenfalls Keras: Wenn Ultralytics YOLO YOLO26 in ein TensorFlow SavedModel exportiert, erstellt der Konverter onnx2tf das PyTorch-Netzwerk aus dem ONNX-Graphen Schicht für Schicht als Keras-Modell neu, bevor er es speichert.

Vortrainierte Modelle in KerasHub#

KerasHub bietet Implementierungen beliebter Architekturen für Keras 3 mit vortrainierten Checkpoints, beispielsweise ResNet für Bilder, BERT für Text und die großen Sprachmodelle von Gemma. Mit dem Namen einer Voreinstellung lädst du ein Modell, das sich für Transfer Learning eignet: keras_hub.models.ImageClassifier.from_preset("resnet_50_imagenet") gibt einen auf ImageNet trainierten Klassifikator zurück, der sich durch Feinabstimmung mit demselben Aufruf fit wie oben an einen neuen Datensatz anpassen lässt. Wie die übrigen Komponenten von Keras 3 laufen die Modelle von KerasHub auf jedem der drei Backends für das Training.

Keras im Vergleich zu TensorFlow und PyTorch#

  • TensorFlow: Ein umfassendes Framework mit eigener Laufzeitumgebung, eigenem Compiler und Bereitstellungstools wie TensorFlow Serving und LiteRT. Keras ist die API, in der viele TensorFlow-Nutzer Modelle schreiben, und TensorFlow ist eine der Engines, die Keras-Code ausführen.
  • PyTorch: Ein Framework, in dem Nutzer die Trainingsschleife üblicherweise selbst schreiben oder eine Bibliothek wie PyTorch Lightning verwenden. Keras stellt die Schleife über fit bereit und kann PyTorch als Backend nutzen. Die beiden schließen sich also nicht gegenseitig aus.
  • JAX: Googles Bibliothek für kombinierbare Funktionstransformationen zur Differentiation, XLA-Kompilierung und Vektorisierung. JAX bietet keine integrierte Schicht- oder Trainings-API. Keras ist eine Möglichkeit, eine solche API darauf aufzubauen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens