for layer in base_model.layers[-5:]:
layer.trainable = True
model = tf.keras.models.Sequential([
base_model,
tf.keras.layers.GlobalAveragePooling2D(),
Dropout(0.3),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(train_generator.num_classes, activation='softmax')
])
optimizer = Adam(learning_rate=0.0001)
model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
epochs = 10
model.fit(train_generator, epochs=epochs, validation_data=validation_generator)