Aan de slagGa gratis aan de slag

Bouw je eigen model voor cijferherkenning

Je bent bij de laatste oefening van de cursus aangekomen — je weet nu alles wat je nodig hebt om een nauwkeurig model te bouwen dat handgeschreven cijfers herkent!

We hebben de basisbewerking van de MNIST-gegevensset uit de video al gedaan, dus je hebt X en y geladen en klaar voor modelleren. Sequential en Dense uit tensorflow.keras zijn ook alvast geïmporteerd.

Om het iets uitdagender te maken, hebben we slechts 2500 afbeeldingen geladen, in plaats van de 60000 die je in sommige gepubliceerde resultaten ziet. Deep-learningmodellen presteren beter met meer data, maar ze doen er ook langer over om te trainen, zeker als ze complexer worden.

Heb je een computer met een CUDA-compatibele GPU, dan kun je die gebruiken om de rekentijd te verbeteren. Geen GPU? Geen probleem! Je kunt een deep learning-omgeving in de cloud opzetten die je modellen op een GPU kan draaien. Hier is een blogpost van Dan die uitlegt hoe je dit doet — bekijk ’m na deze oefening! Het is een mooie volgende stap in je deep learning-reis.

Klaar om je deep learning naar een hoger niveau te tillen? Bekijk Advanced Deep Learning with Keras om te zien hoe de functionele API van Keras je helpt domeinkennis in te bouwen om nieuwe soorten problemen op te lossen. Zodra je met de functionele API overweg kunt, neem dan een kijkje bij Image Processing with Keras in Python om beeldspecifieke toepassingen van Keras te leren.

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning in Python

Cursus bekijken

Oefeninstructies

  • Maak een Sequential-object om je model te starten. Noem dit model.
  • Voeg de eerste Dense verborgen laag met 50 units toe aan je model met 'relu'-activatie. Voor deze data is de input_shape (784,).
  • Voeg een tweede Dense verborgen laag toe met 50 units en een 'relu'-activatiefunctie.
  • Voeg de outputlaag toe. Je activatiefunctie moet 'softmax' zijn en het aantal nodes in deze laag moet gelijk zijn aan het aantal mogelijke outputs in dit geval: 10.
  • Compileer model zoals je bij eerdere modellen deed: gebruik 'adam' als optimizer, 'categorical_crossentropy' voor de loss en metrics=['accuracy'].
  • Train het model met X en y met een validation_split van 0.3 en 10 epochs.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
____
Code bewerken en uitvoeren