Точность, напечатанная функцией keras model.fit, связана с набором проверки или обучающим набором? - PullRequest
3 голосов
/ 03 мая 2020

Я тренирую модель CNN, используя tf.Keras, я разделил тренировочный набор на обучающий и проверочный набор, я хочу визуализировать точность на проверочном наборе.

Вот код, поэтому, пожалуйста, сообщите мне, связана ли точность печати с обучением или проверочным набором?

model.compile(optimizer=opt, loss='categorical_crossentropy', metrics=['accuracy'])
model.fit( x= X_train.reshape(X_train.shape[0],280,252,1),
           y= train_Y_one_hot,           
           epochs=20,
           batch_size=64,
           validation_data=(X_val.reshape(X_val.shape[0],280,252,1),val_Y_one_hot),
           verbose=1)

вывод: Тренировка на 103658 выборках, проверка на 25915 выборок. Эпоха 1/20 28288/103658 [=======>. .....................] - ETA: 40:01 - потери: 0,5309 - точность: 0,9063

Ответы [ 3 ]

1 голос
/ 03 мая 2020

Если вы хотите визуализировать точность как график, вы можете получить список точности и потерь проверки для каждой эпохи следующим образом (я пробежал только 5 эпох, поэтому я получаю 5 значений для каждой val_accuracy и val_loss)

model.fit(x_train, y_train, epochs=5,validation_data=(x_test,y_test))
model.evaluate(x_test, y_test)


# access validation accuracy for each epoch
acc = model.history.history['val_accuracy']
print(acc) # [0.9573, 0.9696, 0.9754, 0.9762, 0.9784]

# access validation loss for each epoch
loss_val = model.history.history['val_loss']
print(loss_val) # [0.13892182569280268, 0.10223265058882534, 0.08262962606661022, 0.08026109958332964, 0.07378015918848105]
0 голосов
/ 03 мая 2020

Точность модели зависит исключительно от данных обучения, предварительной обработки, выполненной в данных обучения, а также от типа классификатора и его параметров.

0 голосов
/ 03 мая 2020

Это потеря тренировки и точность. Вы получите результаты проверки в конце эпохи.

...