Python / Keras - Como acessar cada previsão época?

votos
2

Estou usando Keras de prever uma série de tempo. Como padrão Eu estou usando 20 épocas. Quero saber o que fez minha rede neural prever para cada uma das 20 épocas.

Usando model.predict Estou ficando apenas uma previsão entre todas as épocas (não sei como Keras selecioná-lo). Quero todas as previsões, ou pelo menos os 10 melhores.

Alguém sabe como me ajudar?

Publicado 26/04/2016 em 11:19
fonte usuário
Em outras línguas...                            


2 respostas

votos
5

Eu acho que há um pouco de confusão aqui.

Uma época só é usado durante o treinamento da rede neural, de modo que quando o treinamento paradas (neste caso, após a 20ª época), então os pesos correspondem às computados na última época.

Keras imprime valores de perda atuais no conjunto de validação durante o treino após cada época. Se os pesos após cada época não são salvos, então eles estão perdidos. Você pode salvar pesos para cada época com o ModelCheckpoint retorno de chamada e, em seguida, carregá-los de volta com load_weights no seu modelo.

Você pode calcular suas previsões após cada época formação através da implementação de um retorno de chamada apropriada por subclasse Callback e chamando prever no modelo dentro do on_epoch_end função.

Em seguida, usá-lo, você instancia seu retorno, fazer uma lista e usá-lo chamadas de retorno dos argumentos como palavra-chave para model.fit .

Respondeu 26/04/2016 em 16:55
fonte usuário

votos
0

O código a seguir com fazer o trabalho desejado:

import tensorflow as tf
import keras

# define your custom callback for prediction
class PredictionCallback(tf.keras.callbacks.Callback):    
  def on_epoch_end(self, epoch, logs={}):
    y_pred = self.model.predict(self.validation_data[0])
    print('prediction: {} at epoch: {}'.format(y_pred, epoch))

# ...

# register the callback before training starts
model.fit(X_train, y_train, batch_size=32, epochs=25, 
          validation_data=(X_valid, y_valid), 
          callbacks=[PredictionCallback()])
Respondeu 08/12/2019 em 02:30
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more