Я использую tf.keras.preprocessing.image.ImageDataGenerator
для загрузки изображений и передачи их на мою модель в качестве практики, но когда я начинаю тренироваться, выходная информация показала, что она не может go перейти в следующую эпоху и всегда придерживаться первой, как показано ниже:
Epoch 1/10
1658/Unknown - 388s 234ms/step - loss: 0.0501 - accuracy: 0.9872
И мой код:
import tensorflow as tf
img_size = 128
batch_size = 64
train_path = '/content/image'
data_gen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1. / 255, validation_split=0.1)
train_generator = data_gen.flow_from_directory(train_path,
target_size=(img_size, img_size),
color_mode='rgb',
batch_size=batch_size,
shuffle=True,
seed = 1,
class_mode='categorical',
subset='training'
)
validation_generator = data_gen.flow_from_directory(train_path,
target_size=(img_size, img_size),
color_mode='rgb',
batch_size=batch_size,
shuffle=True,
seed = 1,
class_mode='categorical',
subset='validation'
)
epochs=10
input_shape = (img_size,img_size,3)
model = tf.keras.models.Sequential([
tf.keras.layers.Input(shape=input_shape),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512,activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(2,activation=tf.nn.softmax)])
optimiser = tf.keras.optimizers.Adam(1e-5)
model.compile(optimizer= optimiser,
loss='categorical_crossentropy',
metrics = ['accuracy'])
model.fit(train_generator,
epochs=epochs,
validation_data=validation_generator)
Как я могу решить эту проблему?