Да, это возможно. Эти графики также требуются при настройке гиперпараметров скорости обучения, размера фильтра, отсева, эпохи и т. Д. c.
Фактически мы можем выбирать различные комбинации скорости обучения, ядра, отсева и эпохи. и другие гиперпараметры в модели и график точности проверки этих комбинаций для выбора наилучшего.
Также мы можем выполнить сетку поиска по модели, чтобы выбрать лучший набор параметров. Вы можете найти больше о Гиперпараметрах Грид-поиска для моделей глубокого обучения в Python С Keras здесь .
Здесь я добавил две простые программы вместе с графиками точности проверки -
- Модель, имеющая скорость обучения с увеличением на 0,01 за итерации.
- Модель с различными оптимизаторами.
Программа 1: Модель, имеющая скорость обучения с увеличением на 0,01 за итерации.
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, Flatten, Dropout, MaxPooling2D
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.optimizers import Adam
import os
import numpy as np
import matplotlib.pyplot as plt
_URL = 'https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip'
path_to_zip = tf.keras.utils.get_file('cats_and_dogs.zip', origin=_URL, extract=True)
PATH = os.path.join(os.path.dirname(path_to_zip), 'cats_and_dogs_filtered')
train_dir = os.path.join(PATH, 'train')
validation_dir = os.path.join(PATH, 'validation')
train_cats_dir = os.path.join(train_dir, 'cats') # directory with our training cat pictures
train_dogs_dir = os.path.join(train_dir, 'dogs') # directory with our training dog pictures
validation_cats_dir = os.path.join(validation_dir, 'cats') # directory with our validation cat pictures
validation_dogs_dir = os.path.join(validation_dir, 'dogs') # directory with our validation dog pictures
batch_size = 128
epochs = 15
IMG_HEIGHT = 150
IMG_WIDTH = 150
train_image_generator = ImageDataGenerator(rescale=1./255) # Generator for our training data
validation_image_generator = ImageDataGenerator(rescale=1./255) # Generator for our validation data
train_data_gen = train_image_generator.flow_from_directory(batch_size=batch_size,
directory=train_dir,
shuffle=True,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='binary')
val_data_gen = validation_image_generator.flow_from_directory(batch_size=batch_size,
directory=validation_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='binary')
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu'),
Dense(1)
])
lr=0.01
for i in range(5):
adam = Adam(lr)
print("Model using learning rate of",lr)
lr = lr + 0.01
model.compile(optimizer=adam,
loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])
history = model.fit_generator(
train_data_gen,
steps_per_epoch=total_train // batch_size,
epochs=epochs,
validation_data=val_data_gen,
validation_steps=total_val // batch_size)
plt.plot(history.history['val_accuracy'])
plt.title('Model Accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['LR=0.01', 'LR=0.02', 'LR=0.03', 'LR=0.04', 'LR=0.05'], loc='upper left')
plt.show()
Вывод -
Found 2000 images belonging to 2 classes.
Found 1000 images belonging to 2 classes.
Model using learning rate of 0.01
Epoch 1/15
15/15 [==============================] - 8s 546ms/step - loss: 7.3135 - accuracy: 0.5073 - val_loss: 0.6920 - val_accuracy: 0.4989
Epoch 2/15
15/15 [==============================] - 8s 545ms/step - loss: 0.6929 - accuracy: 0.4968 - val_loss: 0.6931 - val_accuracy: 0.5000
Epoch 3/15
15/15 [==============================] - 8s 533ms/step - loss: 0.6932 - accuracy: 0.5016 - val_loss: 0.6932 - val_accuracy: 0.5134
Epoch 4/15
15/15 [==============================] - 8s 539ms/step - loss: 0.6932 - accuracy: 0.5080 - val_loss: 0.6930 - val_accuracy: 0.5100
Epoch 5/15
15/15 [==============================] - 8s 534ms/step - loss: 0.6934 - accuracy: 0.4893 - val_loss: 0.6932 - val_accuracy: 0.4978
Epoch 6/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6932 - accuracy: 0.5000 - val_loss: 0.6931 - val_accuracy: 0.4944
Epoch 7/15
15/15 [==============================] - 8s 535ms/step - loss: 0.6932 - accuracy: 0.4995 - val_loss: 0.6931 - val_accuracy: 0.4955
Epoch 8/15
15/15 [==============================] - 8s 540ms/step - loss: 0.6934 - accuracy: 0.5101 - val_loss: 0.6932 - val_accuracy: 0.5022
Epoch 9/15
15/15 [==============================] - 8s 535ms/step - loss: 0.6935 - accuracy: 0.4850 - val_loss: 0.6931 - val_accuracy: 0.5033
Epoch 10/15
15/15 [==============================] - 8s 533ms/step - loss: 0.6932 - accuracy: 0.5021 - val_loss: 0.6931 - val_accuracy: 0.5022
Epoch 11/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6932 - accuracy: 0.5053 - val_loss: 0.6932 - val_accuracy: 0.4877
Epoch 12/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6932 - accuracy: 0.5032 - val_loss: 0.6932 - val_accuracy: 0.4967
Epoch 13/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6932 - accuracy: 0.4973 - val_loss: 0.6932 - val_accuracy: 0.4911
Epoch 14/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6932 - accuracy: 0.4995 - val_loss: 0.6933 - val_accuracy: 0.5089
Epoch 15/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6932 - accuracy: 0.4979 - val_loss: 0.6931 - val_accuracy: 0.4877
Model using learning rate of 0.02
Epoch 1/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6935 - accuracy: 0.5011 - val_loss: 0.6932 - val_accuracy: 0.4933
Epoch 2/15
15/15 [==============================] - 8s 524ms/step - loss: 0.6938 - accuracy: 0.5000 - val_loss: 0.6934 - val_accuracy: 0.5000
Epoch 3/15
15/15 [==============================] - 8s 533ms/step - loss: 0.6931 - accuracy: 0.5005 - val_loss: 0.6932 - val_accuracy: 0.5022
Epoch 4/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6936 - accuracy: 0.4984 - val_loss: 0.6932 - val_accuracy: 0.5000
Epoch 5/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6931 - accuracy: 0.4984 - val_loss: 0.6930 - val_accuracy: 0.4900
Epoch 6/15
15/15 [==============================] - 8s 523ms/step - loss: 0.6934 - accuracy: 0.5096 - val_loss: 0.6934 - val_accuracy: 0.4933
Epoch 7/15
15/15 [==============================] - 8s 534ms/step - loss: 0.6933 - accuracy: 0.5043 - val_loss: 0.6931 - val_accuracy: 0.5033
Epoch 8/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6936 - accuracy: 0.4850 - val_loss: 0.6937 - val_accuracy: 0.5022
Epoch 9/15
15/15 [==============================] - 8s 528ms/step - loss: 0.6935 - accuracy: 0.5048 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 10/15
15/15 [==============================] - 8s 529ms/step - loss: 0.6933 - accuracy: 0.4952 - val_loss: 0.6931 - val_accuracy: 0.4967
Epoch 11/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6934 - accuracy: 0.5048 - val_loss: 0.6931 - val_accuracy: 0.4989
Epoch 12/15
15/15 [==============================] - 8s 537ms/step - loss: 0.6933 - accuracy: 0.4989 - val_loss: 0.6932 - val_accuracy: 0.5056
Epoch 13/15
15/15 [==============================] - 8s 529ms/step - loss: 0.6933 - accuracy: 0.5016 - val_loss: 0.6931 - val_accuracy: 0.5089
Epoch 14/15
15/15 [==============================] - 8s 533ms/step - loss: 0.6935 - accuracy: 0.4995 - val_loss: 0.6932 - val_accuracy: 0.4989
Epoch 15/15
15/15 [==============================] - 8s 529ms/step - loss: 0.6931 - accuracy: 0.4920 - val_loss: 0.6932 - val_accuracy: 0.5000
Model using learning rate of 0.03
Epoch 1/15
15/15 [==============================] - 8s 534ms/step - loss: 0.6935 - accuracy: 0.5150 - val_loss: 0.6939 - val_accuracy: 0.4978
Epoch 2/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6948 - accuracy: 0.4904 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 3/15
15/15 [==============================] - 8s 531ms/step - loss: 0.6935 - accuracy: 0.5043 - val_loss: 0.6934 - val_accuracy: 0.5067
Epoch 4/15
15/15 [==============================] - 8s 521ms/step - loss: 0.6934 - accuracy: 0.4963 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 5/15
15/15 [==============================] - 8s 528ms/step - loss: 0.6938 - accuracy: 0.5010 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 6/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6933 - accuracy: 0.5021 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 7/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6933 - accuracy: 0.5005 - val_loss: 0.6932 - val_accuracy: 0.5100
Epoch 8/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6933 - accuracy: 0.4963 - val_loss: 0.6933 - val_accuracy: 0.5022
Epoch 9/15
15/15 [==============================] - 8s 529ms/step - loss: 0.6932 - accuracy: 0.5016 - val_loss: 0.6931 - val_accuracy: 0.5067
Epoch 10/15
15/15 [==============================] - 8s 553ms/step - loss: 0.6935 - accuracy: 0.4947 - val_loss: 0.6937 - val_accuracy: 0.5089
Epoch 11/15
15/15 [==============================] - 8s 540ms/step - loss: 0.6936 - accuracy: 0.5021 - val_loss: 0.6930 - val_accuracy: 0.5123
Epoch 12/15
15/15 [==============================] - 8s 535ms/step - loss: 0.6934 - accuracy: 0.4979 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 13/15
15/15 [==============================] - 8s 530ms/step - loss: 0.6933 - accuracy: 0.5011 - val_loss: 0.6932 - val_accuracy: 0.4989
Epoch 14/15
15/15 [==============================] - 8s 540ms/step - loss: 0.6932 - accuracy: 0.5027 - val_loss: 0.6933 - val_accuracy: 0.4944
Epoch 15/15
15/15 [==============================] - 8s 537ms/step - loss: 0.6934 - accuracy: 0.4989 - val_loss: 0.6931 - val_accuracy: 0.4922
Model using learning rate of 0.04
Epoch 1/15
15/15 [==============================] - 8s 549ms/step - loss: 0.6935 - accuracy: 0.5134 - val_loss: 0.6942 - val_accuracy: 0.5000
Epoch 2/15
15/15 [==============================] - 8s 547ms/step - loss: 0.6948 - accuracy: 0.4840 - val_loss: 0.6931 - val_accuracy: 0.4933
Epoch 3/15
15/15 [==============================] - 8s 543ms/step - loss: 0.6934 - accuracy: 0.4979 - val_loss: 0.6933 - val_accuracy: 0.4989
Epoch 4/15
15/15 [==============================] - 8s 534ms/step - loss: 0.6934 - accuracy: 0.5027 - val_loss: 0.6932 - val_accuracy: 0.5000
Epoch 5/15
15/15 [==============================] - 8s 537ms/step - loss: 0.6935 - accuracy: 0.5027 - val_loss: 0.6932 - val_accuracy: 0.4978
Epoch 6/15
15/15 [==============================] - 8s 540ms/step - loss: 0.6937 - accuracy: 0.4984 - val_loss: 0.6934 - val_accuracy: 0.5045
Epoch 7/15
15/15 [==============================] - 8s 535ms/step - loss: 0.6932 - accuracy: 0.4979 - val_loss: 0.6931 - val_accuracy: 0.4877
Epoch 8/15
15/15 [==============================] - 8s 545ms/step - loss: 0.6936 - accuracy: 0.4963 - val_loss: 0.6931 - val_accuracy: 0.5033
Epoch 9/15
15/15 [==============================] - 8s 532ms/step - loss: 0.6931 - accuracy: 0.4984 - val_loss: 0.6932 - val_accuracy: 0.4978
Epoch 10/15
15/15 [==============================] - 8s 527ms/step - loss: 0.6936 - accuracy: 0.5069 - val_loss: 0.6932 - val_accuracy: 0.4933
Epoch 11/15
15/15 [==============================] - 8s 531ms/step - loss: 0.6934 - accuracy: 0.5069 - val_loss: 0.6931 - val_accuracy: 0.5022
Epoch 12/15
15/15 [==============================] - 8s 528ms/step - loss: 0.6936 - accuracy: 0.4866 - val_loss: 0.6939 - val_accuracy: 0.5022
Epoch 13/15
15/15 [==============================] - 8s 533ms/step - loss: 0.6938 - accuracy: 0.5150 - val_loss: 0.6939 - val_accuracy: 0.5000
Epoch 14/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6939 - accuracy: 0.4915 - val_loss: 0.6933 - val_accuracy: 0.5011
Epoch 15/15
15/15 [==============================] - 8s 541ms/step - loss: 0.6933 - accuracy: 0.4989 - val_loss: 0.6932 - val_accuracy: 0.5011
Model using learning rate of 0.05
Epoch 1/15
15/15 [==============================] - 8s 551ms/step - loss: 0.6935 - accuracy: 0.5134 - val_loss: 0.6958 - val_accuracy: 0.4955
Epoch 2/15
15/15 [==============================] - 8s 548ms/step - loss: 0.6955 - accuracy: 0.4973 - val_loss: 0.6933 - val_accuracy: 0.5078
Epoch 3/15
15/15 [==============================] - 8s 545ms/step - loss: 0.6931 - accuracy: 0.4909 - val_loss: 0.6931 - val_accuracy: 0.4944
Epoch 4/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6935 - accuracy: 0.4989 - val_loss: 0.6931 - val_accuracy: 0.5045
Epoch 5/15
15/15 [==============================] - 8s 527ms/step - loss: 0.6934 - accuracy: 0.4936 - val_loss: 0.6932 - val_accuracy: 0.5011
Epoch 6/15
15/15 [==============================] - 8s 531ms/step - loss: 0.6933 - accuracy: 0.5176 - val_loss: 0.6935 - val_accuracy: 0.5045
Epoch 7/15
15/15 [==============================] - 8s 556ms/step - loss: 0.6938 - accuracy: 0.4920 - val_loss: 0.6934 - val_accuracy: 0.5000
Epoch 8/15
15/15 [==============================] - 8s 533ms/step - loss: 0.6940 - accuracy: 0.4995 - val_loss: 0.6933 - val_accuracy: 0.5033
Epoch 9/15
15/15 [==============================] - 8s 537ms/step - loss: 0.6933 - accuracy: 0.5036 - val_loss: 0.6934 - val_accuracy: 0.4933
Epoch 10/15
15/15 [==============================] - 9s 573ms/step - loss: 0.6942 - accuracy: 0.4952 - val_loss: 0.6933 - val_accuracy: 0.4944
Epoch 11/15
15/15 [==============================] - 8s 540ms/step - loss: 0.6942 - accuracy: 0.4957 - val_loss: 0.6934 - val_accuracy: 0.5000
Epoch 12/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6930 - accuracy: 0.5166 - val_loss: 0.6935 - val_accuracy: 0.4978
Epoch 13/15
15/15 [==============================] - 8s 543ms/step - loss: 0.6940 - accuracy: 0.4952 - val_loss: 0.6932 - val_accuracy: 0.5022
Epoch 14/15
15/15 [==============================] - 8s 558ms/step - loss: 0.6932 - accuracy: 0.4845 - val_loss: 0.6933 - val_accuracy: 0.4978
Epoch 15/15
15/15 [==============================] - 8s 546ms/step - loss: 0.6940 - accuracy: 0.5139 - val_loss: 0.6937 - val_accuracy: 0.5033
Проверка График точности -

Программа 2: Модель с различными оптимизаторами.
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, Flatten, Dropout, MaxPooling2D
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.optimizers import Adam
import os
import numpy as np
import matplotlib.pyplot as plt
_URL = 'https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip'
path_to_zip = tf.keras.utils.get_file('cats_and_dogs.zip', origin=_URL, extract=True)
PATH = os.path.join(os.path.dirname(path_to_zip), 'cats_and_dogs_filtered')
train_dir = os.path.join(PATH, 'train')
validation_dir = os.path.join(PATH, 'validation')
train_cats_dir = os.path.join(train_dir, 'cats') # directory with our training cat pictures
train_dogs_dir = os.path.join(train_dir, 'dogs') # directory with our training dog pictures
validation_cats_dir = os.path.join(validation_dir, 'cats') # directory with our validation cat pictures
validation_dogs_dir = os.path.join(validation_dir, 'dogs') # directory with our validation dog pictures
batch_size = 128
epochs = 15
IMG_HEIGHT = 150
IMG_WIDTH = 150
train_image_generator = ImageDataGenerator(rescale=1./255) # Generator for our training data
validation_image_generator = ImageDataGenerator(rescale=1./255) # Generator for our validation data
train_data_gen = train_image_generator.flow_from_directory(batch_size=batch_size,
directory=train_dir,
shuffle=True,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='binary')
val_data_gen = validation_image_generator.flow_from_directory(batch_size=batch_size,
directory=validation_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='binary')
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu'),
Dense(1)
])
optimizer = ['SGD', 'RMSprop', 'Adagrad', 'Adadelta', 'Adam', 'Adamax', 'Nadam']
for i in range(7):
print("Model using",optimizer[i],"optimizer")
model.compile(optimizer=optimizer[i],
loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])
history = model.fit_generator(
train_data_gen,
steps_per_epoch=total_train // batch_size,
epochs=epochs,
validation_data=val_data_gen,
validation_steps=total_val // batch_size)
plt.plot(history.history['val_accuracy'])
plt.title('Validation Accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['SGD', 'RMSprop', 'Adagrad', 'Adadelta', 'Adam', 'Adamax', 'Nadam'], loc='upper left')
plt.show()
Выход -
Found 2000 images belonging to 2 classes.
Found 1000 images belonging to 2 classes.
Model using SGD optimizer
Epoch 1/15
15/15 [==============================] - 8s 550ms/step - loss: 0.6923 - accuracy: 0.5026 - val_loss: 0.6909 - val_accuracy: 0.5033
Epoch 2/15
15/15 [==============================] - 8s 551ms/step - loss: 0.6898 - accuracy: 0.4989 - val_loss: 0.6900 - val_accuracy: 0.5045
Epoch 3/15
15/15 [==============================] - 8s 539ms/step - loss: 0.6893 - accuracy: 0.5005 - val_loss: 0.6889 - val_accuracy: 0.5022
Epoch 4/15
15/15 [==============================] - 8s 546ms/step - loss: 0.6875 - accuracy: 0.4989 - val_loss: 0.6880 - val_accuracy: 0.5056
Epoch 5/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6860 - accuracy: 0.4882 - val_loss: 0.6864 - val_accuracy: 0.4944
Epoch 6/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6868 - accuracy: 0.5048 - val_loss: 0.6846 - val_accuracy: 0.4877
Epoch 7/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6857 - accuracy: 0.5032 - val_loss: 0.6837 - val_accuracy: 0.4866
Epoch 8/15
15/15 [==============================] - 8s 538ms/step - loss: 0.6830 - accuracy: 0.5016 - val_loss: 0.6832 - val_accuracy: 0.4955
Epoch 9/15
15/15 [==============================] - 8s 547ms/step - loss: 0.6819 - accuracy: 0.5107 - val_loss: 0.6816 - val_accuracy: 0.5022
Epoch 10/15
15/15 [==============================] - 8s 543ms/step - loss: 0.6804 - accuracy: 0.4882 - val_loss: 0.6805 - val_accuracy: 0.5033
Epoch 11/15
15/15 [==============================] - 8s 541ms/step - loss: 0.6798 - accuracy: 0.5037 - val_loss: 0.6800 - val_accuracy: 0.4955
Epoch 12/15
15/15 [==============================] - 8s 541ms/step - loss: 0.6796 - accuracy: 0.4941 - val_loss: 0.6791 - val_accuracy: 0.5022
Epoch 13/15
15/15 [==============================] - 8s 536ms/step - loss: 0.6763 - accuracy: 0.5118 - val_loss: 0.6782 - val_accuracy: 0.5056
Epoch 14/15
15/15 [==============================] - 8s 546ms/step - loss: 0.6758 - accuracy: 0.5048 - val_loss: 0.6743 - val_accuracy: 0.4944
Epoch 15/15
15/15 [==============================] - 8s 539ms/step - loss: 0.6715 - accuracy: 0.5064 - val_loss: 0.6767 - val_accuracy: 0.5000
Model using RMSprop optimizer
Epoch 1/15
15/15 [==============================] - 8s 544ms/step - loss: 2.3455 - accuracy: 0.4963 - val_loss: 0.6690 - val_accuracy: 0.4944
Epoch 2/15
15/15 [==============================] - 8s 545ms/step - loss: 0.6912 - accuracy: 0.5358 - val_loss: 0.6596 - val_accuracy: 0.5123
Epoch 3/15
15/15 [==============================] - 8s 545ms/step - loss: 0.6488 - accuracy: 0.5953 - val_loss: 0.6589 - val_accuracy: 0.5234
Epoch 4/15
15/15 [==============================] - 8s 555ms/step - loss: 0.6675 - accuracy: 0.5962 - val_loss: 0.6412 - val_accuracy: 0.5714
Epoch 5/15
15/15 [==============================] - 8s 540ms/step - loss: 0.6165 - accuracy: 0.6330 - val_loss: 0.6365 - val_accuracy: 0.6920
Epoch 6/15
15/15 [==============================] - 8s 542ms/step - loss: 0.6762 - accuracy: 0.6512 - val_loss: 0.6145 - val_accuracy: 0.6440
Epoch 7/15
15/15 [==============================] - 8s 541ms/step - loss: 0.5711 - accuracy: 0.6854 - val_loss: 0.5771 - val_accuracy: 0.6641
Epoch 8/15
15/15 [==============================] - 8s 549ms/step - loss: 0.7130 - accuracy: 0.6571 - val_loss: 0.6068 - val_accuracy: 0.6975
Epoch 9/15
15/15 [==============================] - 8s 550ms/step - loss: 0.4837 - accuracy: 0.7719 - val_loss: 0.5689 - val_accuracy: 0.7042
Epoch 10/15
15/15 [==============================] - 8s 548ms/step - loss: 0.5215 - accuracy: 0.7345 - val_loss: 0.8108 - val_accuracy: 0.6685
Epoch 11/15
15/15 [==============================] - 8s 539ms/step - loss: 0.4842 - accuracy: 0.7548 - val_loss: 0.5851 - val_accuracy: 0.6629
Epoch 12/15
15/15 [==============================] - 8s 540ms/step - loss: 0.4333 - accuracy: 0.7821 - val_loss: 0.5866 - val_accuracy: 0.7065
Epoch 13/15
15/15 [==============================] - 8s 541ms/step - loss: 0.4136 - accuracy: 0.8061 - val_loss: 0.6037 - val_accuracy: 0.7232
Epoch 14/15
15/15 [==============================] - 8s 544ms/step - loss: 0.3493 - accuracy: 0.8456 - val_loss: 0.8027 - val_accuracy: 0.5737
Epoch 15/15
15/15 [==============================] - 8s 541ms/step - loss: 0.3735 - accuracy: 0.8210 - val_loss: 0.6215 - val_accuracy: 0.6317
Model using Adagrad optimizer
Epoch 1/15
15/15 [==============================] - 8s 543ms/step - loss: 0.2212 - accuracy: 0.9017 - val_loss: 0.6342 - val_accuracy: 0.7199
Epoch 2/15
15/15 [==============================] - 8s 534ms/step - loss: 0.1544 - accuracy: 0.9482 - val_loss: 0.6781 - val_accuracy: 0.7087
Epoch 3/15
15/15 [==============================] - 8s 545ms/step - loss: 0.1409 - accuracy: 0.9498 - val_loss: 0.6718 - val_accuracy: 0.7188
Epoch 4/15
15/15 [==============================] - 8s 543ms/step - loss: 0.1133 - accuracy: 0.9610 - val_loss: 0.7026 - val_accuracy: 0.7288
Epoch 5/15
15/15 [==============================] - 8s 551ms/step - loss: 0.1023 - accuracy: 0.9698 - val_loss: 0.6959 - val_accuracy: 0.7243
Epoch 6/15
15/15 [==============================] - 8s 551ms/step - loss: 0.0906 - accuracy: 0.9744 - val_loss: 0.7243 - val_accuracy: 0.7299
Epoch 7/15
15/15 [==============================] - 8s 542ms/step - loss: 0.0821 - accuracy: 0.9813 - val_loss: 0.6867 - val_accuracy: 0.7400
Epoch 8/15
15/15 [==============================] - 8s 534ms/step - loss: 0.0751 - accuracy: 0.9808 - val_loss: 0.7433 - val_accuracy: 0.7388
Epoch 9/15
15/15 [==============================] - 8s 533ms/step - loss: 0.0683 - accuracy: 0.9813 - val_loss: 0.7392 - val_accuracy: 0.7467
Epoch 10/15
15/15 [==============================] - 8s 537ms/step - loss: 0.0584 - accuracy: 0.9877 - val_loss: 0.7992 - val_accuracy: 0.7366
Epoch 11/15
15/15 [==============================] - 8s 535ms/step - loss: 0.0581 - accuracy: 0.9888 - val_loss: 0.8050 - val_accuracy: 0.7355
Epoch 12/15
15/15 [==============================] - 8s 536ms/step - loss: 0.0534 - accuracy: 0.9899 - val_loss: 0.8280 - val_accuracy: 0.7299
Epoch 13/15
15/15 [==============================] - 8s 536ms/step - loss: 0.0455 - accuracy: 0.9920 - val_loss: 0.8068 - val_accuracy: 0.7254
Epoch 14/15
15/15 [==============================] - 8s 540ms/step - loss: 0.0483 - accuracy: 0.9893 - val_loss: 0.8482 - val_accuracy: 0.7411
Epoch 15/15
15/15 [==============================] - 8s 535ms/step - loss: 0.0394 - accuracy: 0.9952 - val_loss: 0.8483 - val_accuracy: 0.7444
Model using Adadelta optimizer
Epoch 1/15
15/15 [==============================] - 8s 541ms/step - loss: 0.0360 - accuracy: 0.9968 - val_loss: 0.8339 - val_accuracy: 0.7500
Epoch 2/15
15/15 [==============================] - 8s 536ms/step - loss: 0.0376 - accuracy: 0.9941 - val_loss: 0.8663 - val_accuracy: 0.7411
Epoch 3/15
15/15 [==============================] - 8s 537ms/step - loss: 0.0380 - accuracy: 0.9947 - val_loss: 0.8333 - val_accuracy: 0.7433
Epoch 4/15
15/15 [==============================] - 8s 536ms/step - loss: 0.0332 - accuracy: 0.9968 - val_loss: 0.8508 - val_accuracy: 0.7455
Epoch 5/15
15/15 [==============================] - 8s 535ms/step - loss: 0.0357 - accuracy: 0.9952 - val_loss: 0.8521 - val_accuracy: 0.7444
Epoch 6/15
15/15 [==============================] - 8s 535ms/step - loss: 0.0364 - accuracy: 0.9952 - val_loss: 0.8440 - val_accuracy: 0.7433
Epoch 7/15
15/15 [==============================] - 8s 539ms/step - loss: 0.0362 - accuracy: 0.9953 - val_loss: 0.8540 - val_accuracy: 0.7388
Epoch 8/15
15/15 [==============================] - 8s 549ms/step - loss: 0.0344 - accuracy: 0.9957 - val_loss: 0.8276 - val_accuracy: 0.7500
Epoch 9/15
15/15 [==============================] - 8s 534ms/step - loss: 0.0364 - accuracy: 0.9952 - val_loss: 0.8934 - val_accuracy: 0.7355
Epoch 10/15
15/15 [==============================] - 8s 542ms/step - loss: 0.0372 - accuracy: 0.9947 - val_loss: 0.8400 - val_accuracy: 0.7422
Epoch 11/15
15/15 [==============================] - 8s 538ms/step - loss: 0.0336 - accuracy: 0.9963 - val_loss: 0.8363 - val_accuracy: 0.7500
Epoch 12/15
15/15 [==============================] - 8s 538ms/step - loss: 0.0361 - accuracy: 0.9952 - val_loss: 0.8305 - val_accuracy: 0.7533
Epoch 13/15
15/15 [==============================] - 8s 534ms/step - loss: 0.0341 - accuracy: 0.9963 - val_loss: 0.8525 - val_accuracy: 0.7433
...
Model using Adam optimizer
Epoch 1/15
15/15 [==============================] - 8s 552ms/step - loss: 0.3095 - accuracy: 0.8985 - val_loss: 0.6640 - val_accuracy: 0.7065
...
Model using Adamax optimizer
Epoch 1/15
15/15 [==============================] - 8s 540ms/step - loss: 0.0850 - accuracy: 0.9760 - val_loss: 1.1438 - val_accuracy: 0.7254
....
Model using Nadam optimizer
Epoch 1/15
15/15 [==============================] - 8s 544ms/step - loss: 0.2377 - accuracy: 0.9546 - val_loss: 1.0978 - val_accuracy: 0.6987
....
График точности проверки -
