Почему точность обучения и проверки моей модели остается неизменной после одной эпохи?[Keras] - PullRequest
0 голосов
/ 09 декабря 2018

У меня 4684 изображения данных размера (4684, 150, 150, 3) и метки данных размера (4684, 8) .В первую эпоху точность обучения составляет 0,5695, а точность проверки - 0,7535.После первой эпохи моя модель не учится, и точность ее обучения и проверки остается постоянной.Итак, в чем может быть проблема?Ребята, вы можете мне помочь?

Это моя модель.

model = Sequential()
model.add(Conv2D(kernel_size=(3,3),filters=8,input_shape=(150, 150, 3),activation="relu",padding="valid"))
model.add(Conv2D(kernel_size=(3,3),filters=8,activation="relu",padding="same"))
model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))
model.add(Flatten())
model.add(Dropout(0.6))
model.add(Dense(100,activation="relu"))
model.add(Dense(8,activation='softmax'))
model.summary()

model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adam(lr=0.001),
              metrics=['accuracy'])

X = model.fit(data,labels,
          batch_size=batch_size,
          epochs=epochs,
          verbose=1,
          shuffle=True,
          validation_split=0.2)

plt.plot(X.history['loss'])
plt.plot(X.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'validation'], loc='upper left')
plt.show()

Model Loss

1 Ответ

0 голосов
/ 09 декабря 2018

Могу я спросить, конвертированы ли ярлыки в категориальные?

И два, пожалуйста, измените оптимизатор Adam на SGD с lr = .1

И три, пожалуйста, удалите то же самое в Conv2Dили добавьте больше слоя Conv2D + MaxPooling2D к модели

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...