Эта модель предсказывает, является ли изображение мужчиной или женщиной, видя глаза с помощью нейронной сети свертки.
Импорт библиотек:
Разархивируйте набор данных:
Предварительная обработка данных:
Вывод:
{'femaleeyes': 0, 'maleeyes': 1}
Отображение некоторых изображений из набора данных:
Вывод:
Разделите набор обучающих данных на набор поездов и набор проверки:
Вывод:
Found 9221 images belonging to 2 classes. Found 2304 images belonging to 2 classes.
Обучите последовательную модель:
Вывод:
Model: "sequential_9" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv2d_52 (Conv2D) (None, 100, 100, 32) 896 _________________________________________________________________ max_pooling2d_51 (MaxPooling (None, 50, 50, 32) 0 _________________________________________________________________ conv2d_53 (Conv2D) (None, 50, 50, 64) 18496 _________________________________________________________________ max_pooling2d_52 (MaxPooling (None, 25, 25, 64) 0 _________________________________________________________________ conv2d_54 (Conv2D) (None, 25, 25, 64) 36928 _________________________________________________________________ max_pooling2d_53 (MaxPooling (None, 12, 12, 64) 0 _________________________________________________________________ conv2d_55 (Conv2D) (None, 12, 12, 64) 36928 _________________________________________________________________ max_pooling2d_54 (MaxPooling (None, 6, 6, 64) 0 _________________________________________________________________ conv2d_56 (Conv2D) (None, 6, 6, 64) 36928 _________________________________________________________________ max_pooling2d_55 (MaxPooling (None, 3, 3, 64) 0 _________________________________________________________________ dropout_15 (Dropout) (None, 3, 3, 64) 0 _________________________________________________________________ conv2d_57 (Conv2D) (None, 3, 3, 64) 36928 _________________________________________________________________ max_pooling2d_56 (MaxPooling (None, 1, 1, 64) 0 _________________________________________________________________ flatten_6 (Flatten) (None, 64) 0 _________________________________________________________________ dense_12 (Dense) (None, 256) 16640 _________________________________________________________________ activation_12 (Activation) (None, 256) 0 _________________________________________________________________ dropout_16 (Dropout) (None, 256) 0 _________________________________________________________________ dense_13 (Dense) (None, 2) 514 _________________________________________________________________ activation_13 (Activation) (None, 2) 0 ================================================================= Total params: 184,258 Trainable params: 184,258 Non-trainable params: 0 __________________________________________________________________
Скомпилируйте и подгоните модель:
Вывод:
Epoch 1/10 289/289 [==============================] - 268s 929ms/step - loss: 0.6895 - accuracy: 0.5476 - val_loss: 0.6884 - val_accuracy: 0.5486 Epoch 2/10 289/289 [==============================] - 267s 923ms/step - loss: 0.6888 - accuracy: 0.5483 - val_loss: 0.6832 - val_accuracy: 0.5951 ... ... ... Epoch 9/10 289/289 [==============================] - 246s 852ms/step - loss: 0.5994 - accuracy: 0.6840 - val_loss: 0.5540 - val_accuracy: 0.7231 Epoch 10/10 289/289 [==============================] - 247s 853ms/step - loss: 0.5253 - accuracy: 0.7445 - val_loss: 0.4900 - val_accuracy: 0.7708
Кривые графика:
Делаем прогнозы:
Вывод:
Случайным образом выберите изображение из тестового набора и передайте его нашей модели, чтобы делать прогнозы.
Вывод:
Prediction is maleeyes.