Value accuracy remains the same

I have used my own build model and also fine-tuned other two model ResNeT50 and VGG16, but val_acc remains the same for them all.

import tensorflow as tf
model_1 = Sequential()
model_1.add(Conv2D(32, kernel_size=(3,3), padding='same', activation='relu',
                  input_shape=(224,224,3)))
model_1.add(MaxPooling2D(2,2))
model_1.add(Dropout(0.3))
model_1.add(Conv2D(64, kernel_size=(3,3), padding='same', activation='relu'))
model_1.add(Flatten())
model_1.add(Dropout(0.3))
model_1.add(BatchNormalization())
model_1.add(Dense(1, activation='sigmoid'))

model_1.compile(loss='binary_crossentropy',
               optimizer='adam',
               metrics=['accuracy'])
history_1 = model_1.fit(train_gen,
           epochs=3,
           batch_size=32,
           validation_data=(val_gen))

Results:

CPU Frequency: 2199995000 Hz
Epoch 1/3
13/13 [==============================] - 81s 6s/step - loss: 2.3583 - accuracy: 0.3001 - val_loss: 0.3717 - val_accuracy: 0.1900
Epoch 2/3
13/13 [==============================] - 67s 5s/step - loss: 0.5658 - accuracy: 0.2054 - val_loss: 0.3613 - val_accuracy: 0.1900
Epoch 3/3

VGG16:

     VGG = tf.keras.applications.vgg16.VGG16(weights='imagenet',
                                       include_top=False,
                                       input_shape=(224,224,3))
model_2 = Sequential()
model_2.add(VGG)
model_2.add(Flatten())
model_2.add(Dense(128, activation='relu'))
model_2.add(Dropout(0.2))
model_2.add(Dense(1, activation='sigmoid'))

model_2.compile(loss='binary_crossentropy',
               optimizer='adam',
               metrics=['accuracy'])
history_2 = model_2.fit(train_gen,
           epochs=3,
           batch_size=32,
           validation_data=(val_gen))


Epoch 1/3
13/13 [==============================] - 424s 33s/step - loss: 6.8425 - accuracy: 0.2368 - val_loss: 0.6241 - val_accuracy: 0.1900
Epoch 2/3
13/13 [==============================] - 426s 32s/step - loss: 0.5443 - accuracy: 0.1708 - val_loss: 0.5196 - val_accuracy: 0.1900

What could I do to fix this?

Topic finetuning cnn keras tensorflow

Category Data Science

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.