Загрузка модели Re sNet после сохранения дает разные результаты - PullRequest
0 голосов
/ 25 февраля 2020

Я заметил, что если я сохраняю и запускаю свою модель, я получаю разную точность на разных уровнях процесса. Первый шаг, если точность, сообщаемая моделью в точке сохранения.

Сначала я запускаю свою модель следующим образом:

resnet_model.fit(inputs, 
                 train_labels_encoded, 
                 batch_size=1,
                 epochs=300,
                 validation_data = valid_data,
                 verbose=1, 
                 callbacks=callback_list)

В списке обратных вызовов у меня есть ранняя остановка, связанная с потерей. и контрольная точка сохранения

filepath="weights.best.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='loss', verbose=1, save_best_only=True, mode='auto')
early_stop = EarlyStopping(monitor='loss', patience=5, min_delta=0.006, mode='auto')
callback_list=[checkpoint, early_stop]

Модель работает нормально, и последняя контрольная точка сохранения выглядит следующим образом:

Epoch 19/300
233/234 [============================>.] - ETA: 0s - loss: 1.1034 - accuracy: 0.7639
Epoch 00019: loss improved from 1.36219 to 1.10096, saving model to weights.best.hdf5

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

loaded_model = load_model("weights.best.hdf5")
pred_train = inputs
predictions_train = loaded_model.predict(pred_train, verbose=1)

correct = 0
for i in range(int(len(predictions_train))):
    pred = predictions_train[i].argmax()
    gold = train_labels_encoded[i].argmax()
    print(pred, gold)
    if pred == gold:
        correct += 1
        print("CORRECT", i)

print(correct/234)

К сожалению, после этого я получаю точность обучения 0,333. Я сделал что-то не так в коде в конце, который перепроверяет точность обучения? Я почти уверен, что не перепутал никаких переменных. Есть ли что-то в загрузке модели, которая может вызвать это?

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