From 9f8406e941bda5f0e992497bff89e1d88a5dcf64 Mon Sep 17 00:00:00 2001 From: Sara Kowalska Date: Mon, 4 May 2020 12:23:28 +0000 Subject: [PATCH 1/3] Zaktualizuj 'Rozpoznawanie talerzy Sara Kowalska.md' --- Rozpoznawanie talerzy Sara Kowalska.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Rozpoznawanie talerzy Sara Kowalska.md b/Rozpoznawanie talerzy Sara Kowalska.md index 18de7dc..d1ef93b 100644 --- a/Rozpoznawanie talerzy Sara Kowalska.md +++ b/Rozpoznawanie talerzy Sara Kowalska.md @@ -43,13 +43,13 @@ Na początek inicjalizuję sieć neuronową, w moim przypadku jest to sieć sekw > model.add(MaxPooling2D(pool_size=(2, 2))) > ``` -Jako pierwszą do modelu dołączam warstwę **operacji splotu** (**konwolucji**), która polega na przesuwaniu filtru (mnożenie przez macierz, tutaj 2x2, splot = 32) wzdłuż obrazu, aby dla każdego jego fragmentu obliczyć splot między nim a filtrem (ekstrakcja cech). Z tą warstwą dodany jest również format wejścia (dodany raz, odczytywany jest przez wszystkie kolejne warstwy). +Jako pierwszą do modelu dołączam warstwę **operacji splotu** (**konwolucji**), która polega na przesuwaniu filtru (mnożenie przez macierz, tutaj 2x2, liczba filtrów, których dana warstwa się uczy = 32) wzdłuż obrazu, aby dla każdego jego fragmentu obliczyć splot między nim a filtrem (ekstrakcja cech). Z tą warstwą dodany jest również format wejścia (dodany raz, odczytywany jest przez wszystkie kolejne warstwy). Następnie dodana zostaje funkcja aktywacji - **ReLU**: f(x) = x+ = max(0, x), x - dane wejściowe, która zeruje negatywne wartości (korzystamy z niej, ponieważ w wyniku spodziewamy się uzyskać prawdopodobieństwo, które nie może być ujemne). Kolejna zostaje załadowana warstwa **MaxPooling2D**, która zmienia rozdzielczość obrazka. Jest ona podobna do zastosowania filtru, z tym że tutaj nie stosujemy mnożenia, a wyciągamy największą wartość z wycinka obrazka. Dodatkowo tu "okno" operacji przesuwa się o swoją szerokość, a nie jak w Conv2D o 1. punkt , dzięki czemu zmniejszamy rozmiar danych w sieci oraz liczbę trenowanych cech. -W ten sam sposób załadowane zostają kolejne dwie sekwencje warstw (w 3. zwiększamy splot na 64). +W ten sam sposób załadowane zostają kolejne dwie sekwencje warstw (w 3. zwiększamy liczbę filtów na 64). > ```python > model.add(Flatten()) From 7263c6daecd6fdaeaed85cb0b4d080f41511fd15 Mon Sep 17 00:00:00 2001 From: Sara Kowalska Date: Mon, 4 May 2020 12:24:48 +0000 Subject: [PATCH 2/3] Zaktualizuj 'Rozpoznawanie talerzy Sara Kowalska.md' --- Rozpoznawanie talerzy Sara Kowalska.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Rozpoznawanie talerzy Sara Kowalska.md b/Rozpoznawanie talerzy Sara Kowalska.md index d1ef93b..0c54f79 100644 --- a/Rozpoznawanie talerzy Sara Kowalska.md +++ b/Rozpoznawanie talerzy Sara Kowalska.md @@ -47,9 +47,9 @@ Jako pierwszą do modelu dołączam warstwę **operacji splotu** (**konwolucji** Następnie dodana zostaje funkcja aktywacji - **ReLU**: f(x) = x+ = max(0, x), x - dane wejściowe, która zeruje negatywne wartości (korzystamy z niej, ponieważ w wyniku spodziewamy się uzyskać prawdopodobieństwo, które nie może być ujemne). -Kolejna zostaje załadowana warstwa **MaxPooling2D**, która zmienia rozdzielczość obrazka. Jest ona podobna do zastosowania filtru, z tym że tutaj nie stosujemy mnożenia, a wyciągamy największą wartość z wycinka obrazka. Dodatkowo tu "okno" operacji przesuwa się o swoją szerokość, a nie jak w Conv2D o 1. punkt , dzięki czemu zmniejszamy rozmiar danych w sieci oraz liczbę trenowanych cech. +Kolejna zostaje załadowana warstwa **MaxPooling2D**, która zmienia rozdzielczość obrazka. Jest ona podobna do zastosowania filtru, z tym że tutaj nie stosujemy mnożenia, a wyciągamy największą wartość z wycinka obrazka. Dodatkowo tu "okno" operacji przesuwa się o swoją szerokość, a nie jak w Conv2D o 1. punkt. Dzięki temu zmniejszamy rozmiar danych w sieci oraz liczbę trenowanych cech. -W ten sam sposób załadowane zostają kolejne dwie sekwencje warstw (w 3. zwiększamy liczbę filtów na 64). +W ten sam sposób załadowane zostają kolejne dwie sekwencje warstw (w 3. zwiększamy liczbę filtrów na 64). > ```python > model.add(Flatten()) From 3b922d80cc0ebb93e46c9124f99f046d2fd58d3c Mon Sep 17 00:00:00 2001 From: Sara Kowalska Date: Mon, 4 May 2020 12:26:53 +0000 Subject: [PATCH 3/3] Zaktualizuj 'Rozpoznawanie talerzy Sara Kowalska.md' --- Rozpoznawanie talerzy Sara Kowalska.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Rozpoznawanie talerzy Sara Kowalska.md b/Rozpoznawanie talerzy Sara Kowalska.md index 0c54f79..987139a 100644 --- a/Rozpoznawanie talerzy Sara Kowalska.md +++ b/Rozpoznawanie talerzy Sara Kowalska.md @@ -131,7 +131,6 @@ W funkcji *main()* tworzę model sekwencyjny o parametrach uczonego przeze mnie > ``` - Po wybraniu na ekranie głównym opcji *Rozpoznawanie talerzy*, uruchomiona zostaje funkcja *Classify()*, która inicjuje przykładowy początkowy stan restauracji (dodanie kilku klientów, przypisanie im stołów i talerzy) oraz nakazuje agentowi podejście do każdego z klientów i sprawdzenie czy posiadany przez niego talerz jest pusty czy pełny poprzez funkcję *predictAndShowImg()*: > ```python