predictive-maintenance

German Version

Beschreibung von TensorFlow in V7


TensorFlow bietet leistungsstarke Mechanismen zum Speichern und Wiederverwenden von bereits trainierten Modellen. Dies ist besonders nützlich, wenn du ein Modell für neue Vorhersagen verwenden oder weitertrainieren möchtest, ohne es jedes Mal neu zu trainieren.


Grundlegende Konzepte von TensorFlow

  1. Tensoren
    • Ein Tensor ist die grundlegende Datenstruktur in TensorFlow.
    • Es handelt sich um N-dimensionale Arrays (ähnlich wie NumPy-Arrays).
    • Tensoren repräsentieren Eingabedaten, Modellparameter und Ausgaben.
  2. Operationen (Ops)
    • Operationen sind Rechenoperationen, die auf Tensoren ausgeführt werden (z. B. Addition, Matrixmultiplikation).
    • Sie bilden den Kern der Berechnung in TensorFlow.
  3. Berechnungsgraph
    • TensorFlow organisiert Berechnungen als einen Graphen, in dem die Knoten Operationen sind und die Kanten die Tensoren darstellen, die zwischen den Operationen fließen.
    • Der Graph ermöglicht parallele Berechnungen und Optimierungen.

Wichtige Komponenten

Modelle

Training und Backpropagation


Workflow in TensorFlow

1. Datenerstellung und -vorverarbeitung

2. Modell erstellen

3. Training

4. Evaluation

5. Speichern und Bereitstellen


Online-Learning (Continuous Learning)

Modelle können so eingestellt werden, dass sie kontinuierlich aus neuen Daten lernen. Dies geschieht oft in Echtzeit-Systemen.

1. Modell speichern

TensorFlow unterstützt das Speichern von Modellen in zwei Formaten:

Vergleich der beiden Formate

| Feature | SavedModel | HDF5 | |—————————–|————————|——————–| | Speicherstruktur | Ordnerstruktur | Einzelne Datei | | Keras-Unterstützung | Ja | Ja | | TensorFlow-Kompatibilität| Ja | Eingeschränkt | | Einbettbare Daten (Assets)| Ja | Nein | | Plattformportabilität | Hoch | Mittel | | Modellarchitektur ändern| Schwierig | Einfach |


2. Modell laden

Ein gespeichertes Modell kann einfach geladen und direkt für Vorhersagen oder Weitertraining verwendet werden.

Code-Beispiel (Laden des Modells):

# SavedModel-Format
loaded_model = tf.keras.models.load_model('my_model')

# HDF5-Format
loaded_model_h5 = tf.keras.models.load_model('my_model.h5')

# Vorhersagen mit dem geladenen Modell
import numpy as np
new_data = np.random.rand(5, 10)  # Beispiel-Daten
predictions = loaded_model.predict(new_data)

3. Modell nach dem Laden weiter trainieren

Nach dem Laden eines Modells kannst du es mit neuen Daten weitertrainieren, ohne die vorher gelernten Gewichte zu verlieren.

Code-Beispiel:

# Neue Daten
new_X = np.random.rand(100, 10)
new_y = np.random.rand(100)

# Weitertraining
loaded_model.fit(new_X, new_y, epochs=5)

4. Speichern und Laden von Gewichten

Falls du nur die Gewichte des Modells speichern möchtest, kannst du dies unabhängig vom Modell tun.

Code-Beispiel (Gewichte speichern und laden):

# Speichern der Gewichte
model.save_weights('model_weights.h5')

# Laden der Gewichte in ein Modell mit der gleichen Architektur
model.load_weights('model_weights.h5')

5. Modell exportieren für andere Systeme


Best Practices beim Speichern und Laden von Modellen

  1. Ordnerstruktur beibehalten: Besonders beim SavedModel-Format sollten die Metadaten und Dateien im gleichen Verzeichnis bleiben.
  2. Versionierung verwenden: Benenne deine Modelle nach Versionen (model_v1, model_v2), um Änderungen nachzuverfolgen.
  3. Überwachung mit TensorBoard: Verwende TensorBoard, um den Trainingsfortschritt zu visualisieren und bei Bedarf ältere Versionen zu laden.

Lizenz

Autor: Jörg Harzmann

Dieser Inhalt ist unter einer CC BY-NC Lizenz veröffentlicht. Jeglicher Quellcode ist urheberrechtlich geschützt!