Bądźmy w kontakcie
 Czas trwania 21 godzin

Plan Szkolenia

Wprowadzenie

  • Wprowadzenie do TensorFlow i głębokiego uczenia
  • Przypadki zastosowania i aplikacje TensorFlow
  • Ekosystem TensorFlow i narzędzia
  • Prace (workflows) w uczeniu maszynowym i głębokim uczeniu
  • Przegląd celów kursu i ćwiczeń praktycznych

TensorFlow 2.x w porównaniu z poprzednimi wersjami — co nowego

  • Kluczowe różnice między TensorFlow 1.x a 2.x
  • Wykonywanie natychmiastowe (Eager execution)
  • Uproszczone interfejsy API i ulepszona użyteczność
  • Zmiany w konstruowaniu i trenowaniu modeli
  • Wprowadzenie do Keras jako zaawansowanego API
  • Rozważania dotyczące migracji istniejących aplikacji TensorFlow
  • Best practice dla TensorFlow 2.x

Instalacja i konfiguracja TensorFlow 2.x

  • Instalowanie TensorFlow
  • Skonfigurowanie środowiska Pythona
  • Weryfikacja instalacji TensorFlow
  • Instalowanie i zarządzanie wymaganymi zależnościami
  • Skonfigurowanie środowisk CPU i GPU
  • Używanie TensorFlow w notatkach Jupyter
  • Podstawowe polecenia i operacje w TensorFlow
  • Rozwiązywanie problemów z instalacją i konfiguracją

Przegląd funkcji i architektury TensorFlow 2.x

  • Architektura TensorFlow i kluczowe komponenty
  • Tensory i operacje tensorowe
  • Zmienne i stałe
  • Grafy obliczeniowe i natychmiastowe wykonywanie
  • Automatyczne różniczkowanie
  • Interfejsy API i moduły TensorFlow
  • Integracja z Keras
  • Rurki do danych (Data pipelines) z tf.data
  • Serialezacja modeli i TensorFlow SavedModel
  • Ekosystem TensorFlow i przepływ pracy deweloperskiego

Jak działają sieci neuronowe

  • Fundamenty sztucznych sieci neuronowych
  • Neurony, warstwy i architektury sieci
  • Funkcje aktywacji
  • Przesyłanie w przód (Forward propagation)
  • Funkcje straty (Loss functions)
  • Zwrotne rozprzestrzenianie błędu (Backpropagation)
  • Gradient descent i optymalizacja
  • Szybkość uczenia się i strategie optymalizacji
  • Przeuczenie (Overfitting) i niedouczenie (Underfitting)
  • Techniki regularizacji
  • Zbiory danych treningowych, walidacyjnych i testowych

Tworzenie modeli głębokiego uczenia z użyciem TensorFlow 2.x

  • Tworzenie tensorów i zmiennych
  • Budowanie sieci neuronowych z użyciem Keras
  • Interfejsy API modeli sekwencyjnych i funkcyjnych
  • Definiowanie niestandardowych modeli i warstw
  • Konfigurowanie optymalizatorów
  • Dobór odpowiednich funkcji straty
  • Trenowanie modeli z użyciem fit()
  • Niestandardowe pętle treningowe
  • Wywołania zwrotne (Callbacks) i monitorowanie treningu
  • Zarządzanie punktami kontrolnymi modeli (checkpoints)

Analiza danych

  • Rozumienie zbiorów danych do uczenia maszynowego
  • Eksploracja danych strukturyzowanych i niestrukturyzowanych
  • Wizualizacja danych
  • Identyfikowanie wzorców i anomalii
  • Obsługa brakujących i niespójnych danych
  • Dzielenie danych na zbiory treningowe, walidacyjne i testowe
  • Dobór odpowiednich cech (features)
  • Przygotowywanie zbiorów danych do modeli TensorFlow

Przetwarzanie wstępne danych

  • Normalizacja i standaryzacja danych
  • Kodowanie danych kategorialnych
  • Obsługa wartości brakujących
  • Skalowanie cech
  • Przetwarzanie wstępne obrazów
  • Przetwarzanie wstępne tekstu
  • Augmentacja danych
  • Budowanie wydajnych rurek wejściowych
  • Używanie tf.data
  • Batching, losowe mieszanie (shuffling), cache'owanie i wczytywanie wyprzedzające (prefetching)
  • Przygotowywanie danych do trenowania modeli

Budowanie modelu

  • Dobór odpowiedniej architektury sieci neuronowej
  • Definiowanie wejść i wyjść modelu
  • Tworzenie gęstych sieci neuronowych (dense)
  • Dobór funkcji aktywacji
  • Konfigurowanie modelu do trenowania
  • Dobór optymalizatorów i funkcji straty
  • Trenowanie i walidacja modelu
  • Monitorowanie metryk treningu
  • Podnoszenie wydajności modelu
  • Zapobieganie przeuczeniu
  • Implementacja regularizacji i dropout

Implementacja klasyfikatora obrazów najwyższej klasy (state-of-the-art)

  • Fundamenty klasyfikacji obrazów
  • Przygotowywanie zbiorów danych obrazów
  • Normalizacja i augmentacja obrazów
  • Wahotowe sieci neuronowe (Convolutional neural networks)
  • Warstwy konwolucji i pooling
  • Projektowanie architektury klasyfikacji obrazów
  • Uczenie transferowe (Transfer learning)
  • Używanie modeli wstępnie wytrenowanych
  • Dostrojenie (Fine-tuning) wstępnie wytrenowanych sieci
  • Budowanie zaawansowanego klasyfikatora obrazów
  • Ewaluacja wydajności klasyfikacji

Trenowanie modelu

  • Konfigurowanie parametrów treningu
  • Rozmiar partii (batch size) i epoki
  • Dobór optymalizatora
  • Harmonogram szybkości uczenia się (Learning-rate scheduling)
  • Wywołania zwrotne treningu (Training callbacks)
  • Wcześnie zatrzymywanie (Early stopping)
  • Punkty kontrolne modeli (Checkpointing)
  • Monitorowanie postępów treningu
  • Wykrywanie przeuczenia
  • Podnoszenie wydajności treningu
  • Rozważania dotyczące trenowania rozproszonego

Trenowanie na GPU vs TPU

  • Architektury CPU, GPU i TPU
  • Zalety akceleracji sprzętowej
  • Konfigurowanie TensorFlow do trenowania na GPU
  • Rozumienie trenowania opartego na TPU
  • Dobór sprzętu do różnych obciążeń
  • Przenoszenie obliczeń między urządzeniami
  • Zarządzanie pamięcią i zasobami obliczeniowymi
  • Porównanie wydajności treningu
  • Strategie trenowania rozproszonego i akcelerowanego

Ewaluacja modelu

  • Dobór odpowiednich metryk ewaluacyjnych
  • Dokładność, precyzja, recall i punktacja F1
  • Metryki ewaluacji regresji
  • Macierze błędów (Confusion matrices)
  • Strategie walidacji
  • Ewaluacja modeli klasyfikacyjnych
  • Ewaluacja uogólnienia modelu
  • Identyfikowanie słabych punktów modelu
  • Porównywanie różnych konfiguracji modeli

Wytwarzanie predykcji (Making Predictions)

  • Używanie wytrenowanych modeli do wnioskowania (inference)
  • Przygotowywanie nowych danych wejściowych
  • Wytwarzanie predykcji partiami i pojedynczo
  • Interpretacja wyników modelu
  • Prawdopodobieństwa klasyfikacji
  • Predykcje regresji
  • Budowanie przepływu pracy wnioskowania
  • Obsługa nieznanego wcześniej danych
  • Zarządzanie rurekami predykcji

Ewaluacja predykcji

  • Analiza jakości predykcji
  • Porównywanie predykcji z oczekiwanymi wynikami
  • Identyfikowanie fałszywych pozytywów i fałszywych negatywów
  • Analiza błędów
  • Ewaluacja pewności modelu
  • Wizualizacja wyników predykcji
  • Wykrywanie biasu w danych i predykcjach
  • Poprawa wydajności modelu na podstawie analizy predykcji

Debugowanie modelu

  • Identyfikowanie powszechnych problemów treningowych
  • Diagnozowanie błędnych predykcji
  • Debugowanie rurek do danych
  • Badanie zachowania straty i metryk
  • Wykrywanie eksplodujących i zanikających gradientów
  • Diagnozowanie przeuczenia i niedouczenia
  • Inspekcja warstw i wyników modelu
  • Używanie narzędzi do debugowania i profilowania TensorFlow
  • Poprawa stabilności i wydajności modelu

Zapisywanie modelu

  • Zapisywanie wytrenowanych modeli
  • Format TensorFlow SavedModel
  • Zapisywanie i przywracanie wag modelu
  • Zapisywanie architektury i konfiguracji modelu
  • Ładowanie modeli do wnioskowania
  • Wersjonowanie modeli
  • Eksportowanie modeli do wdrożenia
  • Zarządzanie artefaktami modeli
  • Przygotowywanie modeli do środowisk produkcyjnych

Wdrażanie modelu do chmury

  • Wprowadzenie do wdrażania modeli w chmurze
  • Przygotowywanie modeli TensorFlow do produkcji
  • Serwowanie modeli przez API
  • Concepty serwowania modeli (Model serving)
  • Konteneryzacja aplikacji TensorFlow
  • Wnioskowanie w chmurze (Cloud-based inference)
  • Skalowanie obciążeń serwowania modeli
  • Monitorowanie wdrożonych modeli
  • Zarządzanie wersjami modeli
  • Rozważania dotyczące wdrożenia produkcyjnego

Wdrażanie modelu na urządzenie mobilne

  • Wyzwania uczenia maszynowego na urządzeniach mobilnych
  • TensorFlow Lite
  • Konwertowanie modeli TensorFlow do wdrożenia mobilnego
  • Optymalizacja modeli i redukcja rozmiaru
  • Kwantyzacja
  • Wykonywanie wnioskowania na urządzeniach mobilnych
  • Zarządzanie zasobami urządzenia mobilnego
  • Integracja modeli z aplikacjami mobilnymi
  • Testowanie wydajności wnioskowania mobilnego

Wdrażanie modelu na system wbudowany (IoT)

  • Uczenie maszynowe na urządzeniach wbudowanych
  • TensorFlow Lite do aplikacji wbudowanych
  • Ograniczenia zasobów i optymalizacja
  • Redukcja rozmiaru modelu i wymagań obliczeniowych
  • Wnioskowanie na krawędzi (Edge inference)
  • Przetwarzanie danych czujników i danych w czasie rzeczywistym
  • Wykonywanie predykcji lokalnie
  • Rozważania dotyczące zasilania i pamięci
  • Integracja modeli TensorFlow z pracami (workflows) IoT
  • Testowanie i monitorowanie wdrożeń na krawędzi

Integracja modelu z różnymi językami

  • Interoperacyjność modeli TensorFlow
  • Serwowanie modeli przez API
  • Używanie modeli TensorFlow z różnych środowisk programistycznych
  • Integracja modeli oparta na Pythonie
  • Integracja modeli z aplikacjami internetowymi
  • Wnioskowanie modelu przez usługi oparte na REST
  • Integracja TensorFlow z istniejącymi aplikacjami
  • Wymiana danych i serializacja
  • Rozważania dotyczące integracji produkcyjnej

Rozwiązywanie problemów (Troubleshooting)

  • Diagnozowanie problemów z instalacją TensorFlow
  • Rozwiązywanie błędów budowania modeli
  • Debugowanie problemów z przetwarzaniem wstępnym danych
  • Rozwiązywanie awarii treningu
  • Badanie problemów z konfiguracją GPU i TPU
  • Diagnozowanie problemów z pamięcią i wydajnością
  • Rozwiązywanie problemów z ładowaniem i zapisywaniem modeli
  • Debugowanie problemów wdrożeniowych
  • Praktyczne ćwiczenia z rozwiązywania problemów

Podsumowanie i zakończenie

  • Przegląd koncepcji TensorFlow 2.x
  • Przegląd prac (workflows) sieci neuronowych i głębokiego uczenia
  • Przegląd przygotowania danych i rozwoju modeli
  • Przegląd klasyfikacji obrazów
  • Przegląd technik treningu i ewaluacji
  • Przegląd debugowania i optymalizacji modeli
  • Przegląd wdrażania w chmurze, na urządzeniach mobilnych i w IoT
  • Best practice w rozwoju z użyciem TensorFlow
  • Ostatnie ćwiczenie praktyczne
  • Pytania i dyskusja

Wymagania

  • Doświadczenie programistyczne w Pythonie.
  • Znajomość wiersza poleceń Linux.

Grupa docelowa

  • Programiści
  • Naukowcy danych

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (7)

Propozycje terminów

Powiązane Kategorie