Program szkoleniowy – Klasyfikacja obrazu
Program szkoleniowy – klasyfikacja obrazu.
Kompleksowo przeprowadzi Cię poprzez drogę od problemu, zbioru danych, poprzez sieci, aż do działającego modelu.
W programie następujące moduły i zagadnienia:
- Zaczynamy
- Witaj w programie
- Kim jest Twój instruktor
- Największe mity
- Plan gry
- Zagadnienia w analizie obrazu
- Obecny stan wiedzy
- Środowisko pracy – Czego potrzebujesz?
- Jak pracować w Google Colab?
- Jak pracować lokalnie?
- Instalacje – TF, PyTorch, OpenCV
- Praca domowa
- Reprezentacja obrazu
- Reprezentacja obrazu
- Przestrzenie barw
- Operacja konwolucji
- Filtry konwolucyjne
- Operacje morfologiczne
- Preprocessing
- Dostępne zbiory danych
- Historia
- Analiza zbiorów – MNISTopodobnych
- Wizualizacja danych
- Praca domowa
- Prosta sieć do klasyfikacji
- Budowa prostej sieci konwolucyjnej
- Klasyfikacja vs regresja
- Klasyfikacja – Accuracy vs Cross Entropy
- Regresja – MSE, MAE
- Proces uczenia
- Model problemu
- Funkcja kosztu
- Supervised vs self supervised vs unsupervised
- Podział danych 70:30 i 80:20 vs 80:10:10
- TensorFlow, Keras vs PyTorch, PyTorch Lightning
- Keras: Klasyfikacja
- PyTorch: Klasyfikacja
- Praca domowa
- Budowa sieci neuronowej
- Dlaczego potrzebujemy funkcji aktywacji?
- Funkcje aktywacji
- Rodzaje warstw konwolucyjnych
- Historia CNN
- Ile potrzebujemy warstw?
- Współczesne sieci do rozpoznawania obrazu
- Zwykły trening vs Transfer learning vs fine tuning
- Under/overfitting
- Double descent
- Generalizacja
- Spatial/Global Pooling
- Regularyzacja L1, L2
- Dropout
- Praca domowa
- Klasyfikacja zdjęć w praktyce
- Zbiór danych
- Wizualizacja – przykłady z każdej klasy
- Liczebność, rozmiar zdjęć
- Średni obraz
- Enhancement – Clahe
- Enhancement – ZCA
- Trening transfer learning w Keras
- Trening transfer learning w PyTorch Lightning
- Monitorowanie treningu w TensorBoard
- Własne wizualizacje w TB
- TensorBoard HParams
- Jak wykorzystać model?
- Praca domowa
- Data augmentation
- Przekształcenia arytmetyczne
- Przekształcenia geometryczne
- Przekształcenia afiniczne
- Filtry konwolucyjne
- Przekształcenia koloru
- Zniekształcenia obrazu
- Wprowadzanie artefaktów
- Keras Data augmentation
- PyTorch Data augmentation
- ImgAug
- Albumentations
- Kornia
- Praca domowa
- Dobór hiperparametrów
- Wprowadzenie
- Co monitorować?
- Jak monitorować?
- TensorBoard HParams
- Table vs Parallel coordinates vs Scatter plot matrix
- Techniki doboru parametrów
- Automatyczny dobór parametrów
- Narzędzia doboru parametrów
- Przykład praktyczny
- Praca domowa
- Analiza działania modelu
- Dlaczego trzeba analizować działanie modelu?
- Techniki analizy działania modelu
- Wizualizacja kolejnych warstw sieci
- Wizualizacja aktywacji
- Macierz pomyłek
- T-SNE vs UMAP
- T-SNE grid
- CAM vs GradCam
- Occlusion mapping
- Praca domowa
- Mały zbiór danych
- Wprowadzenie
- Wizualizacja danych
- Kiedy nie stosować transfer learningu?
- Self-Supervised Learning
- Rotation prediction pretraining
- Self-Supervised vs Transfer Learning
- Zaawansowany preprocessing
- Pretraining vs from scratch vs self-supervised
- Mały vs duży obraz
- Mały vs duży model
- Jak wykorzystać model?
- Praca domowa
- Klasyfikacja binarna w praktyce
- Analiza zbioru danych
- Binary vs Multiclass vs Multi label vs Multi task
- Sigmoid vs Softmax
- Precision vs Recall vs Accuracy vs F1
- PR Curve vs ROC
- Nierównomierny rozkład
- FPR, TPR vs threshold
- High precision vs high recall
- Praca domowa
- Optymalizacja modelu
- CPU vs GPU vs TPU
- Wielkość batcha
- Kwantyzacja
- FP32 vs FP16 vs INT8
- TensorRT
- Pruning
- Destylacja wiedzy
- Destylacja wiedzy – przykład
- Praca domowa
- Wdrażanie modelu
- Sposoby wdrożenia
- Wdrożenie w chmurze
- Docker
- fastapi
- Streamlit
- Gradio.app
- TF/PyTorch serve
- Nvidia Triton
- MLFlow
- Na co warto zwrócić uwagę
- Praca domowa