Dein eigenes Modell zur Ziffernerkennung erstellen
Du hast die letzte Übung des Kurses geschafft – jetzt weißt du alles, was du brauchst, um ein genaues Modell zur Erkennung handgeschriebener Ziffern zu erstellen!
Wir haben die grundlegenden Schritte mit dem MNIST-Datensatz aus dem Video schon erledigt, also hast du die Dateien „ X
“ und „ y
“ geladen und kannst mit dem Modellieren loslegen. Die Dateien „ Sequential
“ und „ Dense
“ von tensorflow.keras
sind auch schon importiert.
Um es noch spannender zu machen, haben wir nur 2500 Bilder hochgeladen, statt 60000, wie du in einigen veröffentlichten Ergebnissen sehen wirst. Deep-Learning-Modelle funktionieren besser mit mehr Daten, brauchen aber auch länger zum Trainieren, vor allem wenn sie komplexer werden.
Wenn du einen Computer mit einer CUDA-kompatiblen GPU hast, kannst du diese nutzen, um die Rechenzeit zu verbessern. Wenn du keine GPU hast, ist das kein Problem! Du kannst eine Deep-Learning-Umgebung in der Cloud einrichten, die deine Modelle auf einer GPU ausführt. Hier ist ein Blogbeitrag von Dan, der erklärt, wie das geht – schau ihn dir nach dieser Übung an! Das ist ein toller nächster Schritt auf deiner Reise ins Deep Learning.
Bist du bereit, dein Deep Learning auf die nächste Stufe zu bringen? Schau dir „Advanced Deep Learning mit Keras“ an, um zu erfahren, wie du mit der funktionalen API von Keras Fachwissen aufbauen kannst, um neue Probleme zu lösen. Wenn du weißt, wie die funktionale API funktioniert, schau dir Bildverarbeitung mit Keras in Python an, um bildspezifische Anwendungen von Keras kennenzulernen.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit Python
Anleitung zur Übung
- Erstell ein „
Sequential
“-Objekt, um dein Modell zu starten. Nenn das mal „model
”. - Füge die erste versteckte Schicht „
Dense
” mit „50
” Einheiten zu deinem Modell hinzu und aktiviere „'relu'
”. Für diese Daten ist die „input_shape
” (Veröffentlichungs- und Dokumentennummer) „(784,)
”. - Füge eine zweite versteckte Schicht „
Dense
“ mit „50
“ Einheiten und einer Aktivierungsfunktion „'relu'
“ hinzu. - Füge die Ausgabeschicht hinzu. Deine Aktivierungsfunktion sollte „
'softmax'
” sein, und die Anzahl der Knoten in dieser Schicht sollte in diesem Fall der Anzahl der möglichen Ausgänge entsprechen: „10
”. - Kompiliere „
model
” so, wie du es bei den vorherigen Modellen gemacht hast: Mit „'adam'
” alsoptimizer
, „'categorical_crossentropy'
” für den Verlust und „metrics=['accuracy']
”. - Passe das Modell mit „
X
“ und „y
“ an, indem du „validation_split
“ von „0.3
“ und „10
“ Epochen verwendest.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Create the model: model
model = ____
# Add the first hidden layer
____
# Add the second hidden layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____