Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz obiekt Sequential, aby rozpocząć budowę modelu. Nadaj mu nazwę model.
  • Dodaj do modelu pierwszą ukrytą warstwę Dense złożoną z 50 jednostek z aktywacją 'relu'. Dla tych danych input_shape wynosi (784,).
  • Dodaj drugą ukrytą warstwę Dense złożoną z 50 jednostek 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 model tak jak w poprzednich ćwiczeniach: użyj 'adam' jako optimizer, 'categorical_crossentropy' jako funkcji straty oraz metrics=['accuracy'].
  • Dopasuj model do danych X i y, ustawiając validation_split na 0.3 i liczbę epok na 10.

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
____
Edytuj i uruchom kod