1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do uczenia głębokiego w Pythonie

Connected

ćwiczenie

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.

Instrukcje

100 XP
  • 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.