Budowanie własnego modelu do rozpoznawania cyfr
Dotarłeś do ostatniego ćwiczenia w kursie – wiesz już wszystko, czego potrzebujesz, aby zbudować dokładny model rozpoznający odręcznie pisane cyfry!
Podstawowe przetwarzanie zbioru danych MNIST zostało już wykonane, tak jak pokazano w filmie. Masz więc gotowe X i y, które możesz od razu wykorzystać do modelowania. Sequential i Dense z biblioteki tensorflow.keras są również wcześniej zaimportowane.
Dla dodatkowego wyzwania załadowaliśmy tylko 2500 obrazów, a nie 60 000, które możesz spotkać w niektórych opublikowanych wynikach. Modele uczenia głębokiego działają lepiej na większych zbiorach danych, jednak ich trenowanie trwa dłużej – szczególnie gdy modele stają się bardziej złożone.
Jeśli masz komputer z kartą graficzną kompatybilną z CUDA, możesz z niej skorzystać, aby przyspieszyć obliczenia. Jeśli nie masz GPU, nie ma problemu! Możesz skonfigurować środowisko do uczenia głębokiego w chmurze i uruchamiać tam swoje modele na GPU. Zajrzyj do tego wpisu na blogu autorstwa Dana, który wyjaśnia, jak to zrobić – warto przeczytać go po ukończeniu tego ćwiczenia!
Gotowy, aby pójść z uczeniem głębokim o krok dalej? Sprawdź kurs Advanced Deep Learning with Keras, aby zobaczyć, jak funkcjonalne API Keras pozwala wykorzystać wiedzę dziedzinową do rozwiązywania nowych typów problemów. Gdy już poznasz funkcjonalne API, zajrzyj do kursu Image Processing with Keras in Python, gdzie nauczysz się zastosowań Keras w przetwarzaniu obrazów.
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego w Pythonie
Instrukcje do ćwiczenia
- Utwórz obiekt
Sequential, aby rozpocząć budowę modelu. Nadaj mu nazwęmodel. - Dodaj do modelu pierwszą ukrytą warstwę
Densezłożoną z50jednostek z aktywacją'relu'. Dla tych danychinput_shapewynosi(784,). - Dodaj drugą ukrytą warstwę
Densezłożoną z50jednostek z funkcją aktywacji'relu'. - Dodaj warstwę wyjściową. Funkcja aktywacji powinna to być
'softmax', a liczba węzłów w tej warstwie powinna odpowiadać liczbie możliwych wyników – w tym przypadku:10. - Skompiluj
modeltak jak w poprzednich ćwiczeniach: użyj'adam'jakooptimizer,'categorical_crossentropy'jako funkcji straty orazmetrics=['accuracy']. - Dopasuj model do danych
Xiy, ustawiającvalidation_splitna0.3i liczbę epok na10.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
____