Erstellen keras Rückruf speichern von modellvorhersagen und Ziele für jede charge während der Ausbildung

Ich bin eine einfache Sequentielle Modell in Keras (tensorflow backend). Während der Ausbildung möchte ich untersuchen Sie die individuellen Trainings-Chargen und modellvorhersagen. Also, ich bin versuchen, um eine benutzerdefinierte Callback das spart die modellvorhersagen und die Ziele für die einzelnen batch-training. Aber das Modell ist nicht mit der aktuellen charge, die für die Vorhersage, sondern die gesamten Trainingsdaten.

Wie kann ich die hand nur über das aktuelle Trainings-batch-der Callback?

Und wie kann ich den Zugriff auf die Chargen und die Ziele, die Callback speichert in sich selbst.predhis und selbst.Ziele?

Meine aktuelle version sieht wie folgt aus:

callback_list = [prediction_history((self.x_train, self.y_train))]

self.model.fit(self.x_train, self.y_train, batch_size=self.batch_size, epochs=self.n_epochs, validation_data=(self.x_val, self.y_val), callbacks=callback_list)

class prediction_history(keras.callbacks.Callback):
    def __init__(self, train_data):
        self.train_data = train_data
        self.predhis = []
        self.targets = []

    def on_batch_end(self, epoch, logs={}):
        x_train, y_train = self.train_data
        self.targets.append(y_train)
        prediction = self.model.predict(x_train)
        self.predhis.append(prediction)
        tf.logging.info("Prediction shape: {}".format(prediction.shape))
        tf.logging.info("Targets shape: {}".format(y_train.shape))
InformationsquelleAutor Lemon | 2017-11-02
Schreibe einen Kommentar