Как проверить прогнозируемый результат при подгонке модели в Керасе? - PullRequest
1 голос
/ 26 сентября 2019

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

Мне интересно, можно ли также увидеть прогнозы во время подгонки в Керасе?До сих пор я не могу найти код, делающий это.

1 Ответ

1 голос
/ 26 сентября 2019

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

С tenorflow вы можете использовать пользовательский цикл обучения с активным исполнением.Простое руководство по созданию пользовательского цикла обучения: https://www.tensorflow.org/tutorials/eager/custom_training_walkthrough

В основном вы будете:

#transform your data in to a Dataset:
dataset = tf.data.Dataset.from_tensor_slices(
    (x_train, y_train)).shuffle(some_buffer).batch(batchSize) 
     #the above is buggy in some versions regarding shuffling, you may need to shuffle
     #again between each epoch    


#create an optimizer    
optimizer = tf.keras.optimizers.Adam()

#create an epoch loop:
for e in range(epochs):

    #create a batch loop
    for i, (x, y_true) in enumerate(dataset):

        #create a tape to record actions
        with  tf.GradientTape() as tape:

            #take the model's predictions
            y_pred = model(x)

            #calculate loss
            loss = tf.keras.losses.binary_crossentropy(y_true, y_pred)

        #calculate gradients
        gradients = tape.gradient(loss, model.trainable_weights)

        #apply gradients
        optimizer.apply_gradients(zip(gradients, model.trainable_weights)

Вы можете использовать y_pred var для выполнения чего угодно, включая получение numpy_pred = y_pred.numpy()стоимость.

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

...