Logo elodees  elodees

A caring AI for a better world













Only alphabetic characters accented or not as well as the space are accepted

Logo IA




Data augmentation





No account yet ?

Sign up to access all content




Data Augmentation, quickly improve your Deep Learning model



Tested in Anaconda and Python 3.7

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 14 11:32:44 2022
 
@author: Ricore
"""
# Charger les données
 
# from zipfile import ZipFile
 
# with ZipFile('images.zip', 'r') as zipObj:
#   zipObj.extractall('images')
 
train_dir = 'images/train/'
validation_dir = 'images/validation/'
test_dir = 'images/test/'
 
train_cats_dir = 'images/train/cats'
train_dogs_dir = 'images/train/dogs'
validation_cats_dir = 'images/validation/cats'
validation_dogs_dir = 'images/validation/dogs'
test_cats_dir = 'images/test/cats'
test_dogs_dir = 'images/test/dogs'
 
import os
 
print('total training cat images:', len(os.listdir(train_cats_dir)))
print('total training dog images:', len(os.listdir(train_dogs_dir)))
print('total validation cat images:', len(os.listdir(validation_cats_dir)))
print('total validation dog images:', len(os.listdir(validation_dogs_dir)))
print('total test cat images:', len(os.listdir(test_cats_dir)))
print('total test dog images:', len(os.listdir(test_dogs_dir)))
 
# Les générateurs
 
from keras.preprocessing.image import ImageDataGenerator
 
datagen = ImageDataGenerator(rescale=1./255)
 
# Preprocessing
 
train_generator = datagen.flow_from_directory(train_dir,
 batch_size=20,
 target_size=(150, 150),
 class_mode='binary')
 
validation_generator = datagen.flow_from_directory(validation_dir,
 batch_size=20,
 target_size=(150, 150),
 class_mode='binary')
 
for data_batch, labels_batch in train_generator:
 print('data batch shape:', data_batch.shape)
 print('labels batch shape:', labels_batch.shape)
 break
 
# Construire le modèle
 
from keras import layers
from keras import models
 
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
 
from keras import optimizers
 
model.compile(loss='binary_crossentropy',
 optimizer=optimizers.RMSprop(lr=1e-4),
 metrics=['acc'])
 
# Entraîner le modèle
 
history = model.fit_generator(
 train_generator,
 steps_per_epoch=100,
 epochs=30,
 validation_data=validation_generator,
 validation_steps=50)
 
model.save('model_trained.h5')
 
#model = model.load_model('model_trained.h5')
 
# Évaluer le modèle
 
import matplotlib.pyplot as plt
 
acc = history.history['acc']
val_acc = history.history['val_acc']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(1, len(acc) + 1)
 
plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.legend()
plt.figure()
plt.plot(epochs, loss, 'bo', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
 
test_generator = datagen.flow_from_directory(
test_dir,
target_size=(150, 150),
batch_size=20,
class_mode='binary')
 
model.evaluate(test_generator)
 
# Contourner l’overfitting
# Data Augmentation
 
augmented_datagen = ImageDataGenerator(
 rotation_range=40,
 width_shift_range=0.2,
 height_shift_range=0.2,
 shear_range=0.2,
 zoom_range=0.2,
 horizontal_flip=True,
 fill_mode='nearest')
 
from keras.preprocessing import image
 
fnames = [os.path.join(train_cats_dir, fname) for
 fname in os.listdir(train_cats_dir)]
 
img_path = fnames[4]
img = image.load_img(img_path, target_size=(150, 150))
 
x = image.img_to_array(img)
x = x.reshape((1,) + x.shape)
 
i=0
fig = plt.figure(figsize=(7,7))
 
for batch in augmented_datagen.flow(x, batch_size=1):
 ax = fig.add_subplot(2,2,i+1)
 ax.imshow(image.array_to_img(batch[0]))
 i += 1
 if i % 4 == 0:
  break
 
plt.show()
 
augmented_datagen = ImageDataGenerator(
 rescale=1./255,
 rotation_range=40,
 width_shift_range=0.2,
 height_shift_range=0.2,
 shear_range=0.2,
 zoom_range=0.2,
 horizontal_flip=True,)
 
datagen = ImageDataGenerator(rescale=1./255)
 
train_generator = augmented_datagen.flow_from_directory(
 train_dir,
 target_size=(150, 150),
 batch_size=20,
 class_mode='binary')
 
validation_generator = datagen.flow_from_directory(
 validation_dir,
 target_size=(150, 150),
 batch_size=20,
 class_mode='binary')
 
for data_batch, labels_batch in train_generator:
 print('data batch shape:', data_batch.shape)
 print('labels batch shape:', labels_batch.shape)
 break
 
# Dropout
 
model = models.Sequential()
 
model.add(layers.Conv2D(32, (3, 3), activation='relu',
input_shape=(150, 150, 3)))
 
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
 
model.add(layers.Dropout(0.5))
 
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer=optimizers.RMSprop(lr=1e-4),
metrics=['acc'])
 
# Entraîner le nouveau modèle
 
history = model.fit_generator(
 train_generator,
 steps_per_epoch=100,
 epochs=100,
 validation_data=validation_generator,
 validation_steps=50)
 
model.save('model_trained_enhanced.h5')
 
#model = model.load_model('model_trained_enhanced.h5')
 
acc = history.history['acc']
val_acc = history.history['val_acc']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(1, len(acc) + 1)
 
plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.legend()
plt.figure()
plt.plot(epochs, loss, 'bo', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
 
test_generator = datagen.flow_from_directory(
 test_dir,
 target_size=(150, 150),
 batch_size=20,
 class_mode='binary')
 
model.evaluate(test_generator)
 
 


Computer_Vision_CNN_DataAugmentation - GitHub



total training cat images: 1000
total training dog images: 1000
total validation cat images: 500
total validation dog images: 500
total test cat images: 500
total test dog images: 500

Epoch 1/30
100/100 [==============================] - 9s 89ms/step - loss: 0.6916 - acc: 0.5380 - val_loss: 0.7171 - val_acc: 0.5330
Epoch 2/30
100/100 [==============================] - 7s 73ms/step - loss: 0.6571 - acc: 0.6060 - val_loss: 0.6782 - val_acc: 0.5940
Epoch 3/30
100/100 [==============================] - 7s 75ms/step - loss: 0.6049 - acc: 0.6625 - val_loss: 0.6878 - val_acc: 0.6660
Epoch 4/30
100/100 [==============================] - 8s 76ms/step - loss: 0.5552 - acc: 0.7100 - val_loss: 0.4797 - val_acc: 0.6820
Epoch 5/30
100/100 [==============================] - 7s 73ms/step - loss: 0.5295 - acc: 0.7250 - val_loss: 0.7257 - val_acc: 0.6640
Epoch 6/30
100/100 [==============================] - 7s 73ms/step - loss: 0.5007 - acc: 0.7475 - val_loss: 0.6129 - val_acc: 0.6870
Epoch 7/30
100/100 [==============================] - 8s 78ms/step - loss: 0.4713 - acc: 0.7735 - val_loss: 0.6472 - val_acc: 0.7100 ETA: 0s - loss: 0.4777 - acc: 0.7726
Epoch 8/30
100/100 [==============================] - 8s 78ms/step - loss: 0.4489 - acc: 0.7830 - val_loss: 0.7772 - val_acc: 0.7040
Epoch 9/30
100/100 [==============================] - 8s 75ms/step - loss: 0.4282 - acc: 0.8000 - val_loss: 0.6128 - val_acc: 0.7110
Epoch 10/30
100/100 [==============================] - 7s 73ms/step - loss: 0.4007 - acc: 0.8255 - val_loss: 0.6791 - val_acc: 0.7150
Epoch 11/30
100/100 [==============================] - 8s 76ms/step - loss: 0.3869 - acc: 0.8295 - val_loss: 0.5721 - val_acc: 0.7110
Epoch 12/30
100/100 [==============================] - 7s 75ms/step - loss: 0.3492 - acc: 0.8480 - val_loss: 0.5525 - val_acc: 0.7220
Epoch 13/30
100/100 [==============================] - 7s 71ms/step - loss: 0.3320 - acc: 0.8550 - val_loss: 0.7422 - val_acc: 0.7180
Epoch 14/30
100/100 [==============================] - 8s 78ms/step - loss: 0.3066 - acc: 0.8760 - val_loss: 0.6465 - val_acc: 0.7310
Epoch 15/30
100/100 [==============================] - 8s 79ms/step - loss: 0.2822 - acc: 0.8820 - val_loss: 0.5996 - val_acc: 0.7270
Epoch 16/30
100/100 [==============================] - 8s 78ms/step - loss: 0.2592 - acc: 0.8965 - val_loss: 0.5370 - val_acc: 0.7250
Epoch 17/30
100/100 [==============================] - 8s 75ms/step - loss: 0.2423 - acc: 0.9065 - val_loss: 0.5667 - val_acc: 0.6840
Epoch 18/30
100/100 [==============================] - 7s 73ms/step - loss: 0.2094 - acc: 0.9155 - val_loss: 0.5214 - val_acc: 0.7380
Epoch 19/30
100/100 [==============================] - 7s 68ms/step - loss: 0.1985 - acc: 0.9235 - val_loss: 0.7349 - val_acc: 0.7210
Epoch 20/30
100/100 [==============================] - 7s 73ms/step - loss: 0.1847 - acc: 0.9315 - val_loss: 1.0589 - val_acc: 0.7340
Epoch 21/30
100/100 [==============================] - 7s 74ms/step - loss: 0.1597 - acc: 0.9480 - val_loss: 0.2235 - val_acc: 0.7210
Epoch 22/30
100/100 [==============================] - 8s 79ms/step - loss: 0.1433 - acc: 0.9555 - val_loss: 0.5273 - val_acc: 0.7310
Epoch 23/30
100/100 [==============================] - 9s 93ms/step - loss: 0.1230 - acc: 0.9575 - val_loss: 0.6616 - val_acc: 0.7450
Epoch 24/30
100/100 [==============================] - 7s 75ms/step - loss: 0.1068 - acc: 0.9680 - val_loss: 0.8559 - val_acc: 0.7310
Epoch 25/30
100/100 [==============================] - 8s 82ms/step - loss: 0.1001 - acc: 0.9670 - val_loss: 0.5132 - val_acc: 0.7320
Epoch 26/30
100/100 [==============================] - 7s 74ms/step - loss: 0.0832 - acc: 0.9730 - val_loss: 0.5541 - val_acc: 0.7050
Epoch 27/30
100/100 [==============================] - 7s 74ms/step - loss: 0.0706 - acc: 0.9780 - val_loss: 0.7621 - val_acc: 0.7270
Epoch 28/30
100/100 [==============================] - 7s 74ms/step - loss: 0.0649 - acc: 0.9815 - val_loss: 0.5176 - val_acc: 0.7370
Epoch 29/30
100/100 [==============================] - 7s 74ms/step - loss: 0.0541 - acc: 0.9820 - val_loss: 0.7672 - val_acc: 0.7190
Epoch 30/30
100/100 [==============================] - 7s 71ms/step - loss: 0.0454 - acc: 0.9885 - val_loss: 0.5821 - val_acc: 0.7140

Found 1000 images belonging to 2 classes.

50/50 [==============================] - 3s 59ms/step
Found 2000 images belonging to 2 classes.
Found 1000 images belonging to 2 classes.
data batch shape: (20, 150, 150, 3)
labels batch shape: (20,)
Epoch 1/100
100/100 [==============================] - 18s 180ms/step - loss: 0.6957 - acc: 0.5215 - val_loss: 0.6949 - val_acc: 0.5030
Epoch 2/100
100/100 [==============================] - 16s 155ms/step - loss: 0.6877 - acc: 0.5465 - val_loss: 0.6971 - val_acc: 0.5020
Epoch 3/100
100/100 [==============================] - 18s 180ms/step - loss: 0.6759 - acc: 0.5785 - val_loss: 0.6163 - val_acc: 0.5230
Epoch 4/100
100/100 [==============================] - 16s 157ms/step - loss: 0.6634 - acc: 0.5970 - val_loss: 0.5697 - val_acc: 0.5780
Epoch 5/100
100/100 [==============================] - 16s 160ms/step - loss: 0.6448 - acc: 0.6340 - val_loss: 0.6342 - val_acc: 0.6460
Epoch 6/100
100/100 [==============================] - 16s 159ms/step - loss: 0.6277 - acc: 0.6500 - val_loss: 0.6544 - val_acc: 0.6230
Epoch 7/100
100/100 [==============================] - 16s 158ms/step - loss: 0.6179 - acc: 0.6645 - val_loss: 0.6062 - val_acc: 0.6860
Epoch 8/100
100/100 [==============================] - 16s 156ms/step - loss: 0.6065 - acc: 0.6600 - val_loss: 0.6147 - val_acc: 0.6900
Epoch 9/100
100/100 [==============================] - 16s 155ms/step - loss: 0.5994 - acc: 0.6760 - val_loss: 0.5925 - val_acc: 0.6800
Epoch 10/100
100/100 [==============================] - 16s 156ms/step - loss: 0.6007 - acc: 0.6655 - val_loss: 0.6243 - val_acc: 0.6960
Epoch 11/100
100/100 [==============================] - 15s 151ms/step - loss: 0.5828 - acc: 0.6815 - val_loss: 0.5763 - val_acc: 0.6900
Epoch 12/100
100/100 [==============================] - 15s 150ms/step - loss: 0.5708 - acc: 0.6975 - val_loss: 0.4846 - val_acc: 0.7080
Epoch 13/100
100/100 [==============================] - 16s 156ms/step - loss: 0.5811 - acc: 0.6945 - val_loss: 0.4865 - val_acc: 0.6810
Epoch 14/100
100/100 [==============================] - 16s 157ms/step - loss: 0.5645 - acc: 0.7085 - val_loss: 0.6610 - val_acc: 0.7050
Epoch 15/100
100/100 [==============================] - 17s 170ms/step - loss: 0.5558 - acc: 0.7135 - val_loss: 0.5669 - val_acc: 0.7020
Epoch 16/100
100/100 [==============================] - 15s 146ms/step - loss: 0.5506 - acc: 0.7170 - val_loss: 0.5347 - val_acc: 0.7140
Epoch 17/100
100/100 [==============================] - 15s 146ms/step - loss: 0.5502 - acc: 0.7130 - val_loss: 0.6419 - val_acc: 0.7000
Epoch 18/100
100/100 [==============================] - 16s 159ms/step - loss: 0.5579 - acc: 0.7175 - val_loss: 0.6446 - val_acc: 0.7250
Epoch 19/100
100/100 [==============================] - 15s 152ms/step - loss: 0.5430 - acc: 0.7250 - val_loss: 0.5305 - val_acc: 0.7200
Epoch 20/100
100/100 [==============================] - 15s 146ms/step - loss: 0.5489 - acc: 0.7055 - val_loss: 0.5551 - val_acc: 0.7460
Epoch 21/100
100/100 [==============================] - 15s 150ms/step - loss: 0.5312 - acc: 0.7315 - val_loss: 0.5407 - val_acc: 0.7320
Epoch 22/100
100/100 [==============================] - 16s 164ms/step - loss: 0.5449 - acc: 0.7140 - val_loss: 0.6167 - val_acc: 0.7360
Epoch 23/100
100/100 [==============================] - 16s 162ms/step - loss: 0.5284 - acc: 0.7300 - val_loss: 0.6871 - val_acc: 0.7120
Epoch 24/100
100/100 [==============================] - 16s 163ms/step - loss: 0.5431 - acc: 0.7315 - val_loss: 0.4663 - val_acc: 0.7140
Epoch 25/100
100/100 [==============================] - 15s 154ms/step - loss: 0.5368 - acc: 0.7345 - val_loss: 0.4033 - val_acc: 0.7500
Epoch 26/100
100/100 [==============================] - 16s 156ms/step - loss: 0.5112 - acc: 0.7455 - val_loss: 0.4695 - val_acc: 0.7230
Epoch 27/100
100/100 [==============================] - 15s 154ms/step - loss: 0.5166 - acc: 0.7395 - val_loss: 0.6137 - val_acc: 0.7370
Epoch 28/100
100/100 [==============================] - 15s 150ms/step - loss: 0.5255 - acc: 0.7360 - val_loss: 0.2874 - val_acc: 0.7330
Epoch 29/100
100/100 [==============================] - 15s 150ms/step - loss: 0.5172 - acc: 0.7490 - val_loss: 1.1540 - val_acc: 0.6830
Epoch 30/100
100/100 [==============================] - 15s 151ms/step - loss: 0.4993 - acc: 0.7605 - val_loss: 0.4143 - val_acc: 0.7390
Epoch 31/100
100/100 [==============================] - 16s 156ms/step - loss: 0.5235 - acc: 0.7445 - val_loss: 0.8595 - val_acc: 0.7390
Epoch 32/100
100/100 [==============================] - 15s 152ms/step - loss: 0.5071 - acc: 0.7530 - val_loss: 0.4734 - val_acc: 0.7540
Epoch 33/100
100/100 [==============================] - 15s 150ms/step - loss: 0.5092 - acc: 0.7530 - val_loss: 0.4958 - val_acc: 0.7450
Epoch 34/100
100/100 [==============================] - 15s 152ms/step - loss: 0.4996 - acc: 0.7605 - val_loss: 0.4629 - val_acc: 0.7300
Epoch 35/100
100/100 [==============================] - 15s 155ms/step - loss: 0.4947 - acc: 0.7605 - val_loss: 0.4765 - val_acc: 0.7540
Epoch 36/100
100/100 [==============================] - 15s 153ms/step - loss: 0.4977 - acc: 0.7620 - val_loss: 0.5306 - val_acc: 0.7240
Epoch 37/100
100/100 [==============================] - 15s 153ms/step - loss: 0.4939 - acc: 0.7610 - val_loss: 0.5230 - val_acc: 0.7390
Epoch 38/100
100/100 [==============================] - 15s 154ms/step - loss: 0.4906 - acc: 0.7605 - val_loss: 0.4701 - val_acc: 0.7700
Epoch 39/100
100/100 [==============================] - 15s 152ms/step - loss: 0.4962 - acc: 0.7485 - val_loss: 0.4733 - val_acc: 0.7630
Epoch 40/100
100/100 [==============================] - 15s 152ms/step - loss: 0.4729 - acc: 0.7775 - val_loss: 0.5730 - val_acc: 0.7780
Epoch 41/100
100/100 [==============================] - 15s 154ms/step - loss: 0.4827 - acc: 0.7735 - val_loss: 0.9071 - val_acc: 0.7510
Epoch 42/100
100/100 [==============================] - 16s 158ms/step - loss: 0.4824 - acc: 0.7610 - val_loss: 0.6363 - val_acc: 0.7430
Epoch 43/100
100/100 [==============================] - 15s 151ms/step - loss: 0.4836 - acc: 0.7725 - val_loss: 0.5401 - val_acc: 0.7270
Epoch 44/100
100/100 [==============================] - 16s 163ms/step - loss: 0.4805 - acc: 0.7625 - val_loss: 0.4609 - val_acc: 0.7800
Epoch 45/100
100/100 [==============================] - 15s 154ms/step - loss: 0.4777 - acc: 0.7685 - val_loss: 0.5602 - val_acc: 0.7410
Epoch 46/100
100/100 [==============================] - 15s 150ms/step - loss: 0.4753 - acc: 0.7770 - val_loss: 0.4009 - val_acc: 0.7790
Epoch 47/100
100/100 [==============================] - 15s 155ms/step - loss: 0.4697 - acc: 0.7630 - val_loss: 0.5417 - val_acc: 0.7590
Epoch 48/100
100/100 [==============================] - 16s 156ms/step - loss: 0.4785 - acc: 0.7705 - val_loss: 0.4845 - val_acc: 0.7340
Epoch 49/100
100/100 [==============================] - 16s 160ms/step - loss: 0.4733 - acc: 0.7745 - val_loss: 0.1857 - val_acc: 0.7650
Epoch 50/100
100/100 [==============================] - 16s 158ms/step - loss: 0.4761 - acc: 0.7700 - val_loss: 0.5088 - val_acc: 0.7730
Epoch 51/100
100/100 [==============================] - 16s 165ms/step - loss: 0.4533 - acc: 0.7850 - val_loss: 0.4704 - val_acc: 0.7810
Epoch 52/100
100/100 [==============================] - 16s 157ms/step - loss: 0.4654 - acc: 0.7810 - val_loss: 0.4113 - val_acc: 0.7370
Epoch 53/100
100/100 [==============================] - 15s 153ms/step - loss: 0.4515 - acc: 0.7940 - val_loss: 0.5596 - val_acc: 0.7960
Epoch 54/100
100/100 [==============================] - 16s 164ms/step - loss: 0.4585 - acc: 0.7780 - val_loss: 0.7736 - val_acc: 0.7200
Epoch 55/100
100/100 [==============================] - 15s 152ms/step - loss: 0.4557 - acc: 0.7845 - val_loss: 0.5048 - val_acc: 0.7370
Epoch 56/100
100/100 [==============================] - 15s 155ms/step - loss: 0.4500 - acc: 0.7900 - val_loss: 0.4296 - val_acc: 0.7880
Epoch 57/100
100/100 [==============================] - 15s 150ms/step - loss: 0.4377 - acc: 0.7875 - val_loss: 0.6255 - val_acc: 0.7640
Epoch 58/100
100/100 [==============================] - 15s 149ms/step - loss: 0.4572 - acc: 0.7855 - val_loss: 0.2045 - val_acc: 0.7670
Epoch 59/100
100/100 [==============================] - 15s 154ms/step - loss: 0.4420 - acc: 0.7925 - val_loss: 0.5599 - val_acc: 0.7980
Epoch 60/100
100/100 [==============================] - 15s 154ms/step - loss: 0.4416 - acc: 0.7930 - val_loss: 0.4208 - val_acc: 0.7810
Epoch 61/100
100/100 [==============================] - 16s 157ms/step - loss: 0.4384 - acc: 0.8025 - val_loss: 0.3487 - val_acc: 0.7950
Epoch 62/100
100/100 [==============================] - 15s 151ms/step - loss: 0.4403 - acc: 0.7970 - val_loss: 0.5301 - val_acc: 0.7680
Epoch 63/100
100/100 [==============================] - 15s 155ms/step - loss: 0.4389 - acc: 0.7950 - val_loss: 0.5096 - val_acc: 0.7740
Epoch 64/100
100/100 [==============================] - 15s 148ms/step - loss: 0.4325 - acc: 0.7905 - val_loss: 0.4272 - val_acc: 0.7880
Epoch 65/100
100/100 [==============================] - 15s 151ms/step - loss: 0.4439 - acc: 0.8020 - val_loss: 0.4468 - val_acc: 0.7900
Epoch 66/100
100/100 [==============================] - 15s 145ms/step - loss: 0.4458 - acc: 0.7910 - val_loss: 0.3465 - val_acc: 0.7730
Epoch 67/100
100/100 [==============================] - 15s 145ms/step - loss: 0.4321 - acc: 0.7975 - val_loss: 0.4962 - val_acc: 0.7840
Epoch 68/100
100/100 [==============================] - 15s 145ms/step - loss: 0.4208 - acc: 0.8075 - val_loss: 0.2981 - val_acc: 0.7910
Epoch 69/100
100/100 [==============================] - 15s 149ms/step - loss: 0.4221 - acc: 0.8085 - val_loss: 0.2181 - val_acc: 0.7930
Epoch 70/100
100/100 [==============================] - 15s 147ms/step - loss: 0.4378 - acc: 0.7875 - val_loss: 0.4291 - val_acc: 0.7730
Epoch 71/100
100/100 [==============================] - 15s 145ms/step - loss: 0.4249 - acc: 0.8095 - val_loss: 0.1833 - val_acc: 0.8050
Epoch 72/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4345 - acc: 0.7975 - val_loss: 0.5536 - val_acc: 0.7640
Epoch 73/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4248 - acc: 0.8005 - val_loss: 0.3206 - val_acc: 0.7640
Epoch 74/100
100/100 [==============================] - 15s 150ms/step - loss: 0.4236 - acc: 0.8020 - val_loss: 0.3140 - val_acc: 0.7920
Epoch 75/100
100/100 [==============================] - 14s 145ms/step - loss: 0.4113 - acc: 0.8100 - val_loss: 0.5552 - val_acc: 0.7950
Epoch 76/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4151 - acc: 0.8125 - val_loss: 0.9809 - val_acc: 0.7780
Epoch 77/100
100/100 [==============================] - 15s 148ms/step - loss: 0.4111 - acc: 0.8140 - val_loss: 0.4013 - val_acc: 0.7890
Epoch 78/100
100/100 [==============================] - 15s 148ms/step - loss: 0.4179 - acc: 0.8065 - val_loss: 0.3451 - val_acc: 0.7820
Epoch 79/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4158 - acc: 0.8095 - val_loss: 0.3784 - val_acc: 0.7580
Epoch 80/100
100/100 [==============================] - 15s 146ms/step - loss: 0.3998 - acc: 0.8185 - val_loss: 0.5065 - val_acc: 0.7990
Epoch 81/100
100/100 [==============================] - 15s 145ms/step - loss: 0.4174 - acc: 0.8055 - val_loss: 0.3378 - val_acc: 0.7790
Epoch 82/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4033 - acc: 0.8200 - val_loss: 0.7086 - val_acc: 0.7580
Epoch 83/100
100/100 [==============================] - 15s 149ms/step - loss: 0.3988 - acc: 0.8170 - val_loss: 0.6395 - val_acc: 0.7780
Epoch 84/100
100/100 [==============================] - 14s 145ms/step - loss: 0.4256 - acc: 0.8055 - val_loss: 0.5303 - val_acc: 0.8000
Epoch 85/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4039 - acc: 0.8220 - val_loss: 0.5744 - val_acc: 0.8040
Epoch 86/100
100/100 [==============================] - 15s 145ms/step - loss: 0.3981 - acc: 0.8205 - val_loss: 0.4192 - val_acc: 0.7680
Epoch 87/100
100/100 [==============================] - 15s 150ms/step - loss: 0.4026 - acc: 0.8140 - val_loss: 0.6224 - val_acc: 0.8140
Epoch 88/100
100/100 [==============================] - 15s 146ms/step - loss: 0.4136 - acc: 0.8070 - val_loss: 0.4295 - val_acc: 0.7950
Epoch 89/100
100/100 [==============================] - 15s 147ms/step - loss: 0.3910 - acc: 0.8220 - val_loss: 0.3016 - val_acc: 0.8060
Epoch 90/100
100/100 [==============================] - 14s 145ms/step - loss: 0.3987 - acc: 0.8195 - val_loss: 0.4887 - val_acc: 0.7510
Epoch 91/100
100/100 [==============================] - 15s 145ms/step - loss: 0.3881 - acc: 0.8245 - val_loss: 0.2928 - val_acc: 0.8060
Epoch 92/100
100/100 [==============================] - 15s 150ms/step - loss: 0.3877 - acc: 0.8315 - val_loss: 0.6583 - val_acc: 0.7870
Epoch 93/100
100/100 [==============================] - 15s 146ms/step - loss: 0.3992 - acc: 0.8150 - val_loss: 0.4814 - val_acc: 0.8200
Epoch 94/100
100/100 [==============================] - 15s 145ms/step - loss: 0.4013 - acc: 0.8160 - val_loss: 0.4420 - val_acc: 0.8080
Epoch 95/100
100/100 [==============================] - 14s 145ms/step - loss: 0.3952 - acc: 0.8140 - val_loss: 0.7639 - val_acc: 0.7880
Epoch 96/100
100/100 [==============================] - 15s 147ms/step - loss: 0.3906 - acc: 0.8235 - val_loss: 0.4515 - val_acc: 0.7630
Epoch 97/100
100/100 [==============================] - 15s 147ms/step - loss: 0.3807 - acc: 0.8305 - val_loss: 0.3288 - val_acc: 0.8240
Epoch 98/100
100/100 [==============================] - 15s 145ms/step - loss: 0.3834 - acc: 0.8250 - val_loss: 0.3235 - val_acc: 0.8100
Epoch 99/100
100/100 [==============================] - 15s 146ms/step - loss: 0.3801 - acc: 0.8250 - val_loss: 0.6805 - val_acc: 0.8050
Epoch 100/100
100/100 [==============================] - 14s 145ms/step - loss: 0.4120 - acc: 0.8110 - val_loss: 0.6595 - val_acc: 0.7940
Found 1000 images belonging to 2 classes.
50/50 [==============================] - 3s 51ms/step



VGG16
VGG16
VGG16
VGG16
VGG16




Layers of neural networks


Machine learning

Deep learning














Welcome, my name is Eric Soupet and I am the administrator of the site elodees.com. elodees.com is a state of the art of Artificial Intelligence and aims to be collaborative, you can now offer content such as articles, events, tutorials, ... so don't hesitate !

Platform images credit : Pixabay - Pixabay License | Pexels - Pexels License