Je suis en train de construire une CNN à classer les fruits. J'ai été touchés par la forte perte de valeurs et je suis en train de le réduire autant que je le peux mais je ne suis pas sûr de savoir comment améliorer mon modèle.
Voici mon code:
model96 = tf.keras.Sequential()
#Architecture
model96.add(tf.keras.layers.Conv2D(filters = 32,
kernel_size = (3, 3),
activation = "relu",
input_shape = (96, 96, 3)))
model96.add(tf.keras.layers.Conv2D(filters = 32,
kernel_size = (3, 3),
activation = "relu"))
model96.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2)))
model96.add(tf.keras.layers.Dropout(rate=0.25))
model96.add(tf.keras.layers.Flatten())
model96.add(tf.keras.layers.Dense(units=128, activation='relu'))
model96.add(tf.keras.layers.Dropout(rate=0.5))
#output layer
model96.add(tf.keras.layers.Dense(units=4, activation='softmax'))
#Loss function
model96.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
#Train model
hist96 = model96.fit(x=x_train96_norm, y=y_train, epochs=100)
#Test and Evaluate
print("Performance with test data:")
loss96, accuracy96 = model96.evaluate(x=x_test96_norm, y=y_test)
print('loss =', loss96)
print('accuracy =', accuracy96)
Au cours de la formation, de la finale de la perte de valeur a été 0.0153 et la dernière valeur de la précision a été 0.9958, cependant, lors de l'essai le modèle a marqué: loss = 1.0462701320648193
et accuracy = 0.8666666746139526