Prüfpunkte
Create machine learning models
/ 15
Use the model
/ 15
Save and Load Models
/ 15
Explore Callbacks
/ 15
Exercise 1
/ 15
Exercise 2
/ 15
Exercise 3
/ 10
Einführung in maschinelles Sehen mit TensorFlow
- GSP631
- Übersicht
- Lernziele
- Einrichtung und Anforderungen
- Aufgabe 1: Notebook in Vertex AI Workbench öffnen
- Aufgabe 2: Neues Notebook erstellen und Bibliotheken importieren
- Aufgabe 3: Dataset laden und vorverarbeiten
- Aufgabe 4: Modell entwerfen, kompilieren und trainieren
- Aufgabe 5: Leistung des Modells bei bisher ungesehenen Daten evaluieren
- Aufgabe 6: Modell speichern und laden
- Aufgabe 7: Callbacks kennenlernen
- Aufgabe 8: Mit dem Modell experimentieren
- Glückwunsch!
GSP631
Übersicht
TensorFlow ist eine leistungsstarke, portierbare Open-Source-Bibliothek für maschinelles Lernen (ML), die von Google entwickelt wurde und für das Arbeiten mit sehr großen Datasets geeignet ist. In diesem Lab erstellen und trainieren Sie mit TensorFlow Vertex AI Workbench ein Modell für maschinelles Sehen, das verschiedene Kleidungsstücke erkennen soll.
Einführung in TensorFlow
TensorFlow bietet ein Rechensystem zum Erstellen von ML-Modellen. Dieses beinhaltet verschiedene Toolkits, mit denen Sie Modelle auf Ihrer bevorzugten Abstraktionsebene entwickeln können. In diesem Lab nutzen Sie tf.keras, eine allgemeine API, um in TensorFlow ein neuronales Netzwerk zum Klassifizieren von Bildern zu erstellen und zu trainieren.
Neuronale Netzwerke
Ein neuronales Netzwerk ist ein vom Gehirn inspiriertes Modell. Es besteht aus mehreren Ebenen, von denen mindestens eine verborgen ist, und diese wiederum umfassen einfache, vernetzte Einheiten oder Neuronen, gefolgt von Nichtlinearitäten.
Ein Knoten in einem neuronalen Netzwerk empfängt in der Regel mehrere Eingabewerte und erzeugt einen Ausgabewert. Das Neuron wendet auf eine gewichtete Summe von Eingabewerten eine Aktivierungsfunktion (nicht lineare Transformation) an, um den Ausgabewert zu berechnen.
Weitere Informationen zu neuronalen Netzwerken finden Sie unter Neuronale Netzwerke: Knoten und verborgene Ebenen.
Lernziele
Aufgaben in diesem Lab:
- Tensorflow-Modell entwerfen, kompilieren, trainieren und evaluieren
- Modelle speichern und laden
- Eigene Callbacks schreiben, um das Verhalten während des Trainings anzupassen
- Reihe von Übungen absolvieren, in denen mit den verschiedenen Ebenen des Netzwerks experimentiert wird
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Aufgabe 1: Notebook in Vertex AI Workbench öffnen
-
Klicken Sie in der Google Cloud Console im Navigationsmenü auf Vertex AI > Workbench.
-
Suchen Sie die Instanz
und klicken Sie auf JupyterLab öffnen.
Die JupyterLab-Oberfläche für Ihre Workbench-Instanz wird in einem neuen Browsertab geöffnet.
TensorFlow und zusätzliche Pakete installieren
-
Wählen Sie im Launcher-Menü unter Sonstiges die Option Terminal aus.
-
Prüfen Sie, ob die Python-Umgebung schon konfiguriert ist. Kopieren Sie den folgenden Befehl und fügen Sie ihn in das Terminal ein:
Beispielausgabe:
- Führen Sie den folgenden Befehl aus, um das TensorFlow-Paket zu installieren:
- Führen Sie im Terminal den folgenden Befehl aus, um ein Upgrade von
pip3
durchzuführen:
Pylint ist ein Tool, mit dem sich Fehler in Python-Code finden lassen. Es kennzeichnet syntaktische und stilistische Probleme in Python-Quellcode.
- Führen Sie den folgenden Befehl aus, um das
pylint
-Paket zu installieren:
- Installieren Sie die für das Lab erforderlichen Pakete in der Datei
requirements.txt
:
Damit haben Sie die Umgebung eingerichtet.
Aufgabe 2: Neues Notebook erstellen und Bibliotheken importieren
-
Klicken Sie links in der Workbench auf das +-Zeichen, um einen neuen Launcher zu öffnen.
-
Wählen Sie im Launcher-Menü unter Notebook die Option Python3 aus.
Ihnen wird ein neues Jupyter-Notebook angezeigt. Weitere Informationen zum Verwenden von Jupyter-Notebooks, finden Sie in der Jupyter Notebook-Dokumentation.
- Importieren und konfigurieren Sie
logging
undgoogle-cloud-logging
für Cloud Logging. Fügen Sie den folgenden Code in die erste Zelle ein:
- Importieren Sie
tensorflow
zum Trainieren und Evaluieren des Modells. Legen Sie als einfach zu merkende Bezeichnungtf
fest. Fügen Sie den folgenden Code in die erste Zelle ein:
- Importieren Sie
numpy
, um die Daten zur Fehlerbehebung zu parsen. Legen Sie als einfach zu merkende Bezeichnungnp
fest. Fügen Sie in der ersten Zelle den folgenden Code hinzu:
- Fügen Sie den folgenden Code in die erste Zelle ein, um
tensorflow_datasets
zum Einbinden des Datasets zu importieren. TensorFlow Datasets ist eine Reihe sofort einsatzbereiter Datasets für TensorFlow.
-
Klicken Sie auf Ausführen oder drücken Sie Umschalttaste + Eingabetaste, um die Zelle auszuführen.
-
Speichern Sie das Notebook. Klicken Sie dazu auf Datei > Speichern. Geben Sie der Datei den Namen
model.ipynb
und klicken Sie auf Ok.
Aufgabe 3: Dataset laden und vorverarbeiten
Über das Dataset
Sie trainieren anhand eines Datasets namens Fashion MNIST ein neuronales Netzwerk zum Klassifizieren von Bildern von Kleidungsstücken.
Dieses Dataset umfasst 70.000 Kleidungsstücke aus zehn verschiedenen Kategorien. Auf den Bildern sind einzelne Kleidungsstücke in niedriger Auflösung (28 × 28 Pixel) zu sehen. Hier ein Beispiel:
In diesem Lab werden 60.000 Bilder dazu verwendet, das Netzwerk zu trainieren, und anhand von 10.000 Bilder wird evaluiert, wie gut das Netzwerk gelernt hat, Bilder zu klassifizieren.
Die Fashion MNIST-Daten stehen unter tensorflow datasets(tfds) zur Verfügung.
Dataset laden
Sie verwenden zum Laden der Fashion MNIST-Daten die Funktion tfds.load()
.
- Fügen Sie den folgenden Code in die zweite Zelle des Notebooks ein:
Im obigen Code legen Sie mit dem Argument split
fest, welche Splits des Datasets geladen werden sollen. Setzen Sie as_supervised
auf True
, um sicherzustellen, dass das geladene Dataset tf.data.Dataset
eine Struktur mit zwei Tupeln (input, label)
hat.
ds_train und ds_test sind vom Typ tf.data.Dataset
. ds_train umfasst 60.000 Bilder, die für das Training des Modells verwendet werden. Die 10.000 Bilder aus ds_test dienen dazu, das Modell zu evaluieren.
tfds.load()
und den zugehörigen Argumenten finden Sie im Leitfaden.Wie sehen die Werte aus?
- Als Nächstes fügen Sie Ausgabeanweisungen hinzu, um die Mindest- und Höchstwerte der Trainingsbilder für Element 0 zu sehen. Fügen Sie den folgenden Code in die zweite Zelle ein:
Datenvorverarbeitung
-
Batchgröße ist ein im maschinellen Lernen verwendeter Begriff, mit dem die Anzahl der in einer Iteration verwendeten Trainingsbeispiele bezeichnet wird. Sie legen hierfür den Wert
32
fest.
Definieren Sie die Batchgröße, indem Sie Folgendes zu model.ipynb
hinzufügen:
- Beim Trainieren eines neuronalen Netzwerks ist es aus verschiedenen Gründen einfacher, die Pixelwerte auf einen Bereich zwischen 0 und 1 zu skalieren. Dieser Vorgang wird als Normalisierung bezeichnet. Da die Pixelwerte des Fashion MNIST-Datasets im Bereich [0, 255] liegen, teilen Sie sie durch 255,0, um die Bilder zu normalisieren.
Im unten dargestellten Code wird die Funktion map()
von tf.data.Dataset
verwendet, um die Bilder in ds_train
und ds_test
zu normalisieren. Da die Pixelwerte vom Typ tf.uint8
sind, werden sie mit der Funktion tf.cast
in tf.float32
konvertiert und dann durch 255,0
geteilt. Außerdem wird das Dataset durch Aufrufen der Methode batch()
mit BATCH_SIZE
als Argument in Batches umgewandelt.
tf.data.Dataset
finden Sie hier.Fügen Sie am Ende der Datei den folgenden Code ein:
- Lassen Sie die Mindest- und Höchstwerte eines Bildes im Trainings-Dataset noch einmal ausgeben.
Fügen Sie am Ende der Datei den folgenden Code ein:
Aufgabe 4: Modell entwerfen, kompilieren und trainieren
In diesem Abschnitt entwerfen Sie das Modell mit TensorFlow.
- Fügen Sie den folgenden Code in die Datei ein:
Sehen Sie sich die verschiedenen Arten von Ebenen und die in der Modellarchitektur verwendeten Parameter an:
-
Sequential: Damit wird eine SEQUENZ von Ebenen in einem neuronalen Netzwerk definiert.
-
Flatten: Die Bilder haben die Form (28, 28), die Werte sind also in einer quadratischen Matrix angeordnet. Mit „Flatten“ wird daraus ein eindimensionaler Vektor.
-
Dense: Fügt eine Neuronenebene hinzu.
Jede Neuronenebene erfordert eine Aktivierungsfunktion, um zu entscheiden, ob ein Neuron aktiviert werden soll oder nicht. Es gibt viele Optionen, aber in diesem Lab werden die folgenden verwendet:
-
Relu
bedeutet: Wenn X > 0, soll X zurückgegeben werden, ansonsten wird 0 zurückgegeben. Werte, die größer oder gleich 0 sind, werden an die nächste Netzwerkebene übergeben. -
Softmax
wählt aus einer Gruppe von Werten den größten aus, damit Sie sie nicht sortieren müssen, um den größten zu finden. Wenn beispielsweise die Ausgabe der letzten Ebene [0.1, 0.1, 0.05, 0.1, 9.5, 0.1, 0.05, 0.05, 0.05] ist, wird [0,0,0,0,1,0,0,0,0] ausgegeben.
Modell kompilieren und trainieren
In diesem Abschnitt kompilieren Sie das Modell mit einer Optimizer- und Verlustfunktion. Anschließend trainieren Sie es mit Ihren Trainingsdaten und Labels.
Das Modell soll die Beziehung zwischen den Trainingsdaten und den Labels erkennen. Nach Abschluss des Trainings soll das Modell in der Lage sein, bei neuen Bildern von Kleidungsstücken, die den Trainingsdaten ähneln, Vorhersagen zu machen, zu welcher Kategorie von Kleidung sie gehören.
Ein Optimizer ist eines der beiden Argumente, die zum Kompilieren eines tf.keras-Modells nötig sind. Ein Optimizer
ist ein Algorithmus, durch den die Attribute des neuronalen Netzwerks wie Gewichtungen und Lernrate geändert werden. Dadurch wird der Verlust reduziert und die Accuracy verbessert.
tf.keras
finden Sie hier.Loss
gibt mit einer Zahl die Leistung des Modells an. Ist die Leistung des Modells hoch, wird als Verlust eine niedrige Zahl ausgegeben. Im gegenteiligen Fall wird der Verlust als hohe Zahl angegeben.
tf.keras
finden Sie hier.Beachten Sie den Parameter metrics=
. Damit kann TensorFlow nach jeder Epoche einen Bericht zur Accuracy des Trainings erstellen, indem die vorhergesagten Ergebnisse anhand der bekannten Antworten (Labels) geprüft werden. Daran lässt sich praktisch ablesen, wie effektiv das Training läuft.
Model.fit trainiert das Model eine festgelegte Anzahl von Epochen lang.
- Fügen Sie den folgenden Code in die Datei ein:
Klicken Sie auf Fortschritt prüfen.
Code ausführen
- Führen Sie die zweite Zelle aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Wenn die Notebook-Zelle ausgeführt wird, erhalten Sie nach jeder Trainingsepoche bzw. jedem Durchlauf eine Meldung zu Verlust und Accuracy. Wie Sie sehen, steigt die Accuracy nach jeder Epoche bzw. jedem Durchlauf:
Beispielausgabe (Ihre Werte können davon abweichen, Warnmeldungen können ignoriert werden):
Bei der Ausgabe # Values before normalization
liegen Mindest- und Höchstwert im Bereich [0, 255]
. Nach der Normalisierung befinden sich alle Werte im Bereich [0, 1]
.
Im Lauf des Trainings sinkt der Verlust und die Accuracy steigt.
Wenn das Training des Modells abgeschlossen ist, wird Ihnen am Ende der Epoche ein Accuracy-Wert angezeigt. Möglicherweise liegt er wie oben bei etwa 0,8846, aber Ihr Accuracy-Wert kann davon abweichen.
Daran lässt sich ablesen, dass das neuronale Netzwerk die Trainingsdaten zu etwa 89 % korrekt klassifiziert. Mit anderen Worten: Es fand eine Musterübereinstimmung zwischen dem Bild und den Labels, die in 89 % der Fälle richtig war. Das ist nicht besonders gut, aber auch nicht schlecht, wenn man bedenkt, dass ein kleines neuronales Netzwerk nur fünf Epochen lang trainiert wurde.
Aufgabe 5: Leistung des Modells bei bisher ungesehenen Daten evaluieren
Aber wie schneidet das Modell bei Daten ab, die es noch nicht kennt?
Das Test-Dataset kann dazu beitragen, diese Frage zu beantworten. Sie rufen model.evaluate
auf, übergeben die beiden Datasets und das Modell gibt den jeweiligen Verlust zurück.
Evaluieren Sie das Test-Dataset:
- Fügen Sie den folgenden Code in die dritte Zelle des Notebooks ein:
- Führen Sie die Zelle aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Wenn Sie an das Ende der Ausgabe scrollen, sehen Sie das Ergebnis der Evaluation in der letzten Zeile.
Das Modell meldet eine Accuracy von 0,8708 oder etwa 87 % für das Test-Dataset (ds_test
). (Ihre Werte können leicht davon abweichen.)
Wie erwartet, war das Modell bei den unbekannten Daten nicht ganz so erfolgreich wie bei denen, mit denen es trainiert wurde.
Wenn Sie sich genauer mit TensorFlow befassen, lernen Sie Möglichkeiten kennen, dies zu verbessern.
Klicken Sie auf Fortschritt prüfen.
Aufgabe 6: Modell speichern und laden
Der Modellfortschritt kann während des Trainings und danach gespeichert werden. So kann das Modell dort weitermachen, wo es aufgehört hat, was die Trainingszeit unter Umständen verkürzt. Das Speichern ermöglicht es Ihnen außerdem, Ihr Modell mit anderen zu teilen, damit diese ebenfalls damit arbeiten können. In dieser ersten Übung fügen Sie den notwendigen Code hinzu, um Ihr Modell zu speichern und zu laden.
SavedModel
und Keras
gespeichert werden. Das Format TensorFlow SavedModel
ist das Standarddateiformat in TF2.x. Alternativ kann aber auch das Format Keras
verwendet werden. Sie erhalten später noch weitere Informationen zum Speichern von Modellen in den beiden Dateiformaten.- Fügen Sie den folgenden Code in die vierte Zelle des Notebooks ein:
Der obige Code zeigt, wie Sie das Modell in zwei verschiedenen Formaten speichern und das gespeicherte Modell wieder laden können. Sie können das für Ihren Anwendungsfall geeignete Format auswählen. Weitere Informationen zu dieser Funktion finden Sie in der TensorFlow-Dokumentation unter „Save and load models“.
- Führen Sie die Zelle aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Am Ende der Ausgabe sehen Sie zwei Modellzusammenfassungen. Die erste bezieht sich auf das im Format SavedModel
gespeicherte Modell, bei der zweiten wurde das Modell im Format h5
gespeichert.
Wie Sie sehen, sind die Modellzusammenfassungen identisch, da wir dasselbe Modell in zwei verschiedenen Formaten gespeichert haben.
Klicken Sie auf Fortschritt prüfen.
Aufgabe 7: Callbacks kennenlernen
Beim Training des Modells ist Ihnen vermutlich aufgefallen, dass der Verlust immer kleiner und die Accuracy immer größer wurde. Nachdem die angepeilten Accuracy- und Verlustwerte erreicht wurden, dauert es aber möglicherweise noch etwas, bis das Training abgeschlossen ist.
Vielleicht denken Sie: „Wäre es nicht praktisch, das Training beenden zu können, wenn das Modell die gewünschte Accuracy erreicht hat?“
Wenn eine Accuracy von 95 % ausreicht und das Modell diese nach drei Trainingsepochen erreicht – warum sollte man dann noch viele weitere Epochen lang warten?
Die Lösung: Callbacks!
Ein Callback ist ein leistungsstarkes Tool zum Anpassen des Verhaltens eines Keras-Modells bei Training, Evaluation oder Inferenz. Sie können einen Callback definieren, um das Training zu beenden, sobald Ihr Modell die gewünschte Accuracy für das Trainings-Dataset erreicht hat.
Verwenden Sie den folgenden Code, um auszuprobieren, was geschieht, wenn Sie einen Callback einrichten, um das Training bei einer Accuracy von 84 % zu beenden:
-
Öffnen Sie den Launcher und wählen Sie Python3 aus, um ein neues Jupyter-Notebook zu erstellen.
-
Speichern Sie die Datei als
callback_model.ipynb
. -
Fügen Sie den folgenden Code in die erste Zelle von
callback_model.ipynb
ein:
-
Drücken Sie Strg + S oder gehen Sie zu Datei > Notebook speichern, um die Änderungen zu speichern
-
Führen Sie den Code aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Wie Sie sehen, wurde das Training nach wenigen Epochen abgebrochen.
Klicken Sie auf Fortschritt prüfen.
Aufgabe 8: Mit dem Modell experimentieren
In diesem Abschnitt experimentieren Sie mit den verschiedenen Netzwerkebenen.
Übung 1
In dieser Übung lernen Sie die Ebenen Ihres Modells näher kennen. Was geschieht, wenn Sie die Anzahl der Neuronen ändern?
-
Öffnen Sie den Launcher und wählen Sie Python3 aus, um ein neues Jupyter-Notebook zu erstellen.
-
Speichern Sie die Datei als
updated_model.ipynb
. -
Fügen Sie den folgenden Code in die erste Zelle von
updated_model.ipynb
ein:
- Testen Sie verschiedene Werte für die Dense-Ebene.
Legen Sie im Abschnitt # Define the model
128 statt 64 Neuronen fest:
-
Drücken Sie Strg + S oder gehen Sie zu Datei > Notebook speichern, um die Änderungen zu speichern
-
Führen Sie den Code aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Wie unterscheiden sich die Ergebnisse im Hinblick auf Verlust, Trainingszeit usw.? Was könnte der Grund sein?
Wenn Sie die Anzahl der Neuronen auf 128 erhöhen, sind mehr Berechnungen nötig. Das verlangsamt den Trainingsprozess. In diesem Fall hatte die Steigerung einen positiven Effekt, weil sich dadurch die Accuracy des Modells erhöht hat. Mehr ist aber nicht immer besser. Der Punkt, an dem die Ergebnisse den Aufwand nicht mehr rechtfertigen, kann schnell erreicht sein.
Klicken Sie auf Fortschritt prüfen.
Übung 2
Jetzt testen Sie die Auswirkungen weiterer Ebenen im Netzwerk. Was geschieht, wenn Sie zwischen den beiden Dense-Ebenen eine weitere einfügen?
- Fügen Sie in
updated_model.ipynb
im Abschnitt# Define the model
eine weitere Ebene hinzu.
Ersetzen Sie Ihre Modelldefinition durch Folgendes:
-
Drücken Sie Strg + S oder gehen Sie zu Datei > Notebook speichern, um die Änderungen zu speichern
-
Führen Sie den Code aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Antwort: Dies hat keine signifikanten Auswirkungen, da es sich um relativ einfache Daten handelt. Bei deutlich komplexeren Daten sind zusätzliche Ebenen jedoch oft notwendig.
Klicken Sie auf Fortschritt prüfen.
Übung 3
Bevor Sie das Modell trainiert haben, haben Sie die Pixelwerte im Bereich [0, 1]
normalisiert. Welche Auswirkungen hätte es, wenn Sie die Normalisierung aufheben würden und die Werte im Bereich [0, 255] lägen, wie es ursprünglich im Dataset der Fall war?
- Probieren Sie es aus! Entfernen Sie im Abschnitt
# Define, load and configure data
die map-Funktion, die bisher auf das Trainings- und Test-Dataset angewendet wurde.
- Fügen Sie diesen Code am Ende der Zelle hinzu, um den Höchstwert des ersten Bildes in Batch 0 auszugeben. Ohne Normalisierung liegt der Höchstwert im Bereich
[0, 255]
.
- Die endgültige Datei
updated_model.ipynb
sieht in etwa so aus:
-
Drücken Sie Strg + S oder gehen Sie zu Datei > Notebook speichern, um die Änderungen zu speichern
-
Führen Sie den Code aus, indem Sie auf Ausführen klicken oder Umschalttaste + Eingabetaste drücken.
Erwartete Ausgabe für # Print out max value to see the changes
Nach Abschluss der Epochen sehen Sie den Unterschied bei der Accuracy ohne Normalisierung.
Warum ändert sich Ihrer Meinung nach die Accuracy?
Klicken Sie auf Fortschritt prüfen.
Übung 4
Was geschieht, wenn Sie die Ebene Flatten()
entfernen und was ist die Ursache für die Veränderung?
Probieren Sie es aus.
- Entfernen Sie im Abschnitt
# Define the model
den Codetf.keras.layers.Flatten()
:
- Speichern Sie die Änderungen und führen Sie die Zelle in
updated_model.ipynb
aus.
Es wird ein Fehler bezüglich der Datenform ausgegeben. Dies ist zu erwarten.
Die Details des Fehlers erscheinen im Moment möglicherweise noch unklar, aber er bestätigt die Faustregel, dass die erste Netzwerkebene dieselbe Form wie die Daten haben sollte. Aktuell haben die Eingabebilder die Form 28 × 28, aber 28 Ebenen mit 28 Neuronen sind nicht möglich. Daher ist es sinnvoll, die 28,28 zu 784 × 1 zu vereinfachen.
Anstatt den ganzen Code selbst zu schreiben, können Sie am Anfang die Ebene Flatten()
einfügen. Wenn die Arrays später in das Modell geladen werden, werden sie automatisch vereinfacht.
Übung 5
Sehen Sie sich die letzte (Ausgabe-)Ebene an. Warum umfasst sie zehn Neuronen? Was geschieht bei einer anderen Anzahl?
Finden Sie es heraus, indem Sie das Netzwerk mit fünf Neuronen trainieren.
- Ersetzen Sie den Abschnitt
# Define the model
durch den folgenden Code, um die Änderungen in der vorherigen Übung rückgängig zu machen:
- Ändern Sie die Anzahl der Neuronen in der letzten Ebene von zehn auf fünf:
- Speichern Sie die Änderungen und führen Sie die Zelle in
updated_model.ipynb
aus.
Ergebnis: Ein Fehler wird ausgegeben, sobald das Modell einen unerwarteten Wert findet.
Eine weitere Faustregel lautet: Die Anzahl der Neuronen in der letzten Ebene sollte der Anzahl der Klassen entsprechen, für die Sie Daten klassifizieren. In diesem Fall sind dies die Ziffern 0–9. Das sind insgesamt zehn, daher sollte die letzte Ebene zehn Neuronen umfassen.
Glückwunsch!
Glückwunsch! Sie haben gelernt, ein Tensorflow-Modell zu entwerfen, zu kompilieren, zu trainieren und zu evaluieren. Außerdem haben Sie gelernt, wie Sie Modelle speichern und laden sowie eigene Callbacks schreiben, um das Verhalten während des Trainings anzupassen. Zum Schluss haben Sie eine Reihe von Übungen absolviert, um mit den verschiedenen Netzwerkebenen zu experimentieren.
Weitere Informationen
- Intensivkurs zum maschinellen Lernen
- Seite zum Testen der Möglichkeiten von maschinellem Sehen
- Vertex AI-Dokumentation
- Experimente mit der KI von Google
- Informationen zu TensorFlow
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 12. September 2024 aktualisiert
Lab zuletzt am 12. September 2024 getestet
© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.