Щас такой график, то есть начинается запоминание в какой-то момент, а на валидации застой вверх вниз прыгает в диапазоне и всё.
CNN (keras):
model = Sequential()
model.add(Conv2D(filters=32, kernel_size=(5,5), strides=1, padding='same', activation='relu', use_bias=True, input_shape=(256, 256, 3)))
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(Conv2D(filters=64, kernel_size=(3, 3), activation='relu', strides=1, padding='same', use_bias=True))
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(Conv2D(filters=128, kernel_size=(3, 3), activation='relu', strides=1, padding='same', use_bias=True))
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dropout(0.2))
model.add(Dense(2, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Батч 32, 10 эпох, 12к картинок кошек и 12к картинок собак, выдаются плюс минус поочерёдно.
Возьми резнет)
Возвращаясь к этому вопросу, если я ещё добавлю на последней эпохи условие, если обучающая выборка и валидационная выдала >95% то остановить обучение, будет нормально так сделать? Потому что я видел по графику что на последней итерации иногда так вылетает хорошо, а потом к 89% скатывается
посмотри на колбеки кераса
Обсуждают сегодня