Существует 6 различных типов логотипов (Burger King, McDonalds, Other, Starbucks, Subway, KFC). Мы использовали CNN для прогнозирования новых изображений мячей.

Эта модель предсказывает, относится ли изображение к какому бренду, просматривая логотипы с использованием нейронной сети свертки.

Импорт библиотек:

Разархивируйте набор данных:

Предварительная обработка данных:

Сопоставьте классификации, т. е. классы, с целым числом и отобразите список всех уникальных 6 брендов.

Вывод:

{'Burger King': 0, 'KFC': 1, 'McDonalds': 2, 'Other': 3, 'Starbucks': 4, 'Subway': 5}

Отображение некоторых изображений из набора данных:

Вывод:

Разделите набор обучающих данных на набор поездов и набор проверки:

Вывод:

Found 1393 images belonging to 6 classes.
Found 345 images belonging to 6 classes.

Обучите последовательную модель:

Вывод:

Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d (Conv2D)              (None, 100, 100, 32)      896       
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 50, 50, 32)        0         
_________________________________________________________________
conv2d_1 (Conv2D)            (None, 50, 50, 64)        18496     
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 25, 25, 64)        0         
_________________________________________________________________
conv2d_2 (Conv2D)            (None, 25, 25, 64)        36928     
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 12, 12, 64)        0         
_________________________________________________________________
conv2d_3 (Conv2D)            (None, 12, 12, 64)        36928     
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 6, 6, 64)          0         
_________________________________________________________________
conv2d_4 (Conv2D)            (None, 6, 6, 64)          36928     
_________________________________________________________________
max_pooling2d_4 (MaxPooling2 (None, 3, 3, 64)          0         
_________________________________________________________________
dropout (Dropout)            (None, 3, 3, 64)          0         
_________________________________________________________________
conv2d_5 (Conv2D)            (None, 3, 3, 64)          36928     
_________________________________________________________________
max_pooling2d_5 (MaxPooling2 (None, 1, 1, 64)          0         
_________________________________________________________________
flatten (Flatten)            (None, 64)                0         
_________________________________________________________________
dense (Dense)                (None, 256)               16640     
_________________________________________________________________
activation (Activation)      (None, 256)               0         
_________________________________________________________________
dropout_1 (Dropout)          (None, 256)               0         
_________________________________________________________________
dense_1 (Dense)              (None, 6)                 1542      
_________________________________________________________________
activation_1 (Activation)    (None, 6)                 0         
=================================================================
Total params: 185,286
Trainable params: 185,286
Non-trainable params: 0
_________________________________________________________________

Скомпилируйте и подгоните модель:

Вывод:

Epoch 1/40
44/44 [==============================] - 41s 934ms/step - loss: 1.5418 - accuracy: 0.4602 - val_loss: 1.4519 - val_accuracy: 0.4783
Epoch 2/40
44/44 [==============================] - 41s 932ms/step - loss: 1.3943 - accuracy: 0.4738 - val_loss: 1.4155 - val_accuracy: 0.4783
...
...
...
Epoch 39/40
44/44 [==============================] - 38s 861ms/step - loss: 0.2385 - accuracy: 0.9296 - val_loss: 0.4292 - val_accuracy: 0.8406
Epoch 40/40
44/44 [==============================] - 38s 860ms/step - loss: 0.2084 - accuracy: 0.9304 - val_loss: 0.7735 - val_accuracy: 0.7884

Кривые графика:

Глубокий CC:

Ссылка на блокнот: