Ten zasób zawiera kody do książki [Zaawansowane uczenie głębokie z TensorFlow 2 i Keras, Wydanie 2, zaktualizowane](ftp - zaktualizować na Helion), opublikowanej przez Helion. Znajdują się w nim wszysktie pliki niezbędne do uruchomienia projektów zawartych w książce.
Zwróć uwagę, że przykłady kodów zostały zaktualizowane i działają tylko z API TensorFlow 2.0 Keras.
Zaawansowane uczenie głębokie z TensorFlow 2 i Keras (Wydanie 2) jest kompletnie zaktualizowanym wydaniem bestsellerowego podręcznika dotyczącego dostępnych obecnie, zaawansowanych technik uczenia głębokiego. Edycja ta, przygotowana pod kątem Tensorflow 2.x, wprowadzi Cię do praktycznych aspektów uczenia głębokiego w nowych rozdziałach dotyczących uczenia nienadzorowanego z użyciem informacji wzajemnych, wykrywania obiektów (SSD) i segmentacji semantycznej (FCN i PSPNET), co pozwoli Ci na tworzenie własnych projektów z użyciem najnowocześniejszych technik sztucznej inteligencji.
W książce tej pokazano w sposób praktyczny, jak bardziej efektywnie tworzyć projekty wykorzystujące najbardziej aktualne techniki sztucznej inteligencji z użyciem otwartoźródłowej biblioteki do uczenia głębokiego Keras.
Począwszy od przeglądu Perceptronów wielowarstwowych (MLPs), splotowych sieci neuronowych (CNNs) oraz rekurencyjnych sieci neuronowych (RNNs), książka wprowadza kolejno w coraz bardziej najnowoczesne techniki w miare jak badasz głębokie architektury sieci neuronowych, w tym Reset i Densenet,i jak tworzysz sieci autokodujące. Następnie poznasz sieci GAN i dowiesz się, jak dzięki nim można osiągnąć nowe poziomy wydajności sztucznej inteligencji.
Następnie odkryjesz, w jaki sposób wdrożyć wariacyjną sieć autokodującą (VAE), oraz jak sieci GAN i VAE umożliwiają generowanie syntetycznych danych, które wygladają bardzo przekonywująco dla ludzi. Nauczysz się również wdrażać metody uczenia głębokiego ze wzmocnieniem - DRL, takie jak głębokie metody gradientu i strategie, które mają kluczowe znaczenie dla wielu nowoczesnych wyników uzyskiwanych przez AI.
Rekomendujemy użycie środowiska conda. Proszę pobierz Anacoda stąd: Anaconda. Aby zainstalować Anaconda :
sh <nazwa-pobranego-instalatora-Anaconda3>
Wymagany jest komputer z co najmniej 1 jednostką NVIDIA GPU (1060 lub lepsza). Przykładowe kody były testowane na 1060, 1080Ti, RTX 2080Ti, V100, RTX Quadro 8000 działających pod kontrolą systemu Ubuntu 18.04 LTS. Poniżej zamieszczono krótki przewodnik instalacji sterownika NVIDIA oraz CuDNN aby uruchomić wsparcie dla GPU.
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo ubuntu-drivers autoinstall
sudo reboot
nvidia-smi
W czasie gdy przygotowywano tłumaczenie nvidia-smi pokazuje wersję sterownika NVIDIA 462.59 i wersję CUDA 11.2.
To prawie koniec. Ostatni zestaw poleceń wygląda nastepująco (niektóre kroki mogą wymagać dostępu z "sudo").
conda create --name adlk
conda activate adlk
cd <katalog-z-zasobami-z-ftp>
pip install -r requirements.txt
sudo apt-get install python-pydot
sudo apt-get install ffmpeg
Przetestowanie czy prosty model może zostać wytrenowany bez błędów:
cd Rozdział 1 - Wprowadzenie do Keras
python3 mlp-mnist-1.3.2.py
Końcowy rezultat pokazuje dokładność wytrenowanego modelu na testowym zbiorze danych MNIST, wynosi on około 98.2%.
Jeśli masz kłopoty z biblioteką CUDA (tzn. nie możesz załadować lub znaleźć libcudart.so.10.X), TensorFlow i biblioteki CUDA mogą być zainstalowane wspólnie z użyciem conda:
pip uninstall tensorflow-gpu
conda install -c anaconda tensorflow-gpu
Przykładowy rezulat dla losowych cyfr:

Przykładowe wyjścia dla losowych obrazów cifar10:

Przykładowe wyjścia dla losowych cyfr:

Przykładowe wyjścia dla losowych cyfr:

Przykładowe wyjścia dla losowych cyfr:

Przykładowe wyjścia dla losowych cyfr:

Przykładowe wyjścia dla cyfr od 0 do 9:

Przykładowe wyjścia dla cyfr od 0 do 9:

Przykładowe wyjście dla cyfr od 0 do 9:

Przykładowe wyjście dla losowych obrazów cifar10:

Przykładowe wyjście dla cyfr MNIST dla SVHN:

Wygenerowane cyfry MNIST w funkcji przestrzeni niejawnej:

Mnih, Volodymyr, et al. "Human-level control through deep reinforcement learning." Nature 518.7540 (2015): 529
DQN w środowisku wózka:

Sutton and Barto, Reinforcement Learning: An Introduction
Strategia gradientu w ciągłym środowisku samochodu wjeżdżającego pod górkę:

Detekcja 3 obiektów za jednym razem (ang. Single-Shot)

Segmentacja semantyczna

MINE

Jeśli ta praca Ci się przydała, proszę - zacytuj:
@book{atienza2022advanced,
title={Zaawansowane uczenie głębokie z TensorFlow 2 i Keras},
author={Atienza, Rowel},
year={2022},
publisher={Helion}
}