This commit is contained in:
s450026 2020-05-26 23:49:00 +02:00
parent c462497905
commit 51ad494b5a

View File

@ -35,7 +35,7 @@ for category in CATEGORIES:
pass pass
random.shuffle(training_data) random.shuffle(training_data)
``` ```
Tutaj nasze dane wejściowe są odpowiednio przetwarzane. Na początku zdjęcie jest z czytywane, oraz przetwarzane aby każdy pixel był w skali szarości 0 - 255 (ponieważ kolor w tym zadaniu według mnie, nie odgrywa ważnej roli). Następnie skalowany jest do mniejszych rozmiarów i w końcu jako macierz zadeklarowanych wymiarów trafia do tablicy ze swoją etykietą. Na końcu cała tablica jest przetasowywana, aby umożliwić modelowi lepszą naukę. Tutaj nasze dane wejściowe są odpowiednio przetwarzane. Na początku zdjęcie jest sczytywane, oraz przetwarzane aby każdy pixel był w skali szarości 0 - 255 (ponieważ kolor w tym zadaniu według mnie, nie odgrywa ważnej roli). Następnie skalowany jest do mniejszych rozmiarów i w końcu jako macierz zadeklarowanych wymiarów trafia do tablicy ze swoją etykietą. Na końcu cała tablica jest przetasowywana, aby umożliwić modelowi lepszą naukę.
Teraz dane zostają podzielone na zestaw cech i zestaw etykiet, oraz zostają zapisane do plików za pomocą **pickle**. Teraz dane zostają podzielone na zestaw cech i zestaw etykiet, oraz zostają zapisane do plików za pomocą **pickle**.
``` ```
@ -52,7 +52,7 @@ y = pickle.load(pickle_in)
### Tworzenie modelu i proces jego nauki ### Tworzenie modelu i proces jego nauki
#### Wczytywanie danych potrzebnych do nauki modelu #### Wczytywanie danych potrzebnych do nauki modelu
Na początku z czytywane są odpowiednio przygotowane dane (funkcja load_dataset) Na początku sczytywane są odpowiednio przygotowane dane (funkcja load_dataset)
``` ```
pickle_in = open(relative_path + 'SavedData/X.pickle', 'rb') pickle_in = open(relative_path + 'SavedData/X.pickle', 'rb')
X = pickle.load(pickle_in) X = pickle.load(pickle_in)
@ -123,7 +123,7 @@ model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu')) model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2))) model.add(MaxPooling2D(pool_size=(2, 2)))
``` ```
Na koniec spłaszczam naszą trój wymiarową tablice, na macierz stosując funkcje Flatten(), oraz używam warstwę Dense z tylko jednym neuronem, który będzie naszym wynikiem. Funkcja aktywacji jest to oczywiście funkcja sigmoid ponieważ chcemy otrzymać wynik (0-1). Na koniec spłaszczam naszą trójwymiarową tablice, na macierz stosując funkcje Flatten(), oraz używam warstwę Dense z tylko jednym neuronem, który będzie naszym wynikiem. Funkcja aktywacji jest to oczywiście funkcja sigmoid ponieważ chcemy otrzymać wynik (0-1).
``` ```
model.add(Flatten()) model.add(Flatten())