Sofortantwort
TensorFlow einfach erklärt
Open-Source-Framework für Machine Learning und Deep Learning.
- Kurz gesagt
- Von Google entwickelt; Ökosystem für Training, Pipelines, Visualisierung und Inferenz
- Typischer Einsatz
- Mobile & Edge, Produktion, ML-Pipelines
- Wichtig zu wissen
- Gute Tooling: TensorBoard, TF Serving, TFX für ML-Pipelines
TensorFlow im Überblick
TensorFlow ist Googles Open-Source-Framework für Machine Learning und Deep Learning. Es verbindet grundlegende Tensor- und Trainingsfunktionen mit Keras, TensorBoard, TFX und einer breiten Sammlung von Tutorials. Für On-Device-Inferenz führt Google heute LiteRT als plattformübergreifende Runtime. Bestehende TensorFlow-Projekte können weiterhin eigene Anforderungen an Version, Konvertierung und Serving haben.
TensorFlow ist Googles Deep-Learning-Framework. Mit Keras als High-Level-API können Teams Modelle schrittweise vom Prototyp in trainier- und betreibbare Workflows überführen.
TensorFlow heute:
import tensorflow as tf
from tensorflow import keras
# Keras macht TensorFlow einfach
model = keras.Sequential([
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')
model.fit(x_train, y_train, epochs=5)
Stärken von TensorFlow:
- LiteRT: Ausführung auf Mobile-, Web-, Desktop- und Edge-Geräten
- TensorFlow Serving: Eine Option für TensorFlow-spezifisches Serving
- TensorBoard: Visualisierung von Training und Metriken
- TFX: Komplette ML-Pipelines
Technisch betrachtet
TensorFlow Ökosystem
TensorFlow Core
├── Keras (High-Level API)
├── LiteRT (Mobile/Edge)
├── TensorFlow.js (Browser)
├── TensorFlow Serving (Production)
├── TFX (ML Pipelines)
├── TensorBoard (Visualization)
└── TensorFlow Hub (Pre-trained Models)
Keras Sequential Model
model = keras.Sequential([
keras.layers.Conv2D(32, 3, activation='relu', input_shape=(28, 28, 1)),
keras.layers.MaxPooling2D(),
keras.layers.Flatten(),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
model.summary() # Zeigt Architektur
TensorFlow vs. PyTorch
| Aspekt | TensorFlow | PyTorch |
|---|---|---|
| Entwickler | Meta | |
| API | Keras (high-level) | Native Python |
| Forschung | Prüfe Modellbibliotheken und Teamkenntnisse | Prüfe Modellbibliotheken und Teamkenntnisse |
| Produktion | TensorFlow-spezifische Tools und externe Laufzeiten | PyTorch-spezifische Tools und externe Laufzeiten |
| Mobile | LiteRT und kompatible Konvertierungswege | ExecuTorch und weitere Laufzeiten |
| Visualisierung | TensorBoard und weitere Observability-Tools | TensorBoard und weitere Observability-Tools |
Konvertierung für On-Device-Inferenz
# TensorFlow-kompatibler Konvertierungsweg; aktuelle LiteRT-Dokumentation prüfen
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
# Speichern
with open('model.tflite', 'wb') as f:
f.write(tflite_model)
Wann TensorFlow wählen?
- On-Device-Inferenz mit LiteRT und kompatiblen Modellen
- Google Cloud Integration (Vertex AI)
- Bestehende TensorFlow-Codebasis
- TFX für ML-Pipelines
- Keras für schnelles Prototyping