Quando si esegue un modello di rete neurale Keras si potrebbe vedere qualcosa di simile nella console:Come accedere uscita perdita Keras in un file
Epoch 1/3
6/1000 [..............................] - ETA: 7994s - loss: 5111.7661
Col passare del tempo la perdita si spera migliora. Voglio registrare queste perdite in un file nel tempo in modo che io possa imparare da loro. Ho provato:
logging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG)
ma questo non funziona. Non sono sicuro di quale livello di registrazione ho bisogno in questa situazione.
ho anche provato ad utilizzare un callback come in:
def generate_train_batch():
while 1:
for i in xrange(0,dset_X.shape[0],3):
yield dset_X[i:i+3,:,:,:],dset_y[i:i+3,:,:]
class LossHistory(keras.callbacks.Callback):
def on_train_begin(self, logs={}):
self.losses = []
def on_batch_end(self, batch, logs={}):
self.losses.append(logs.get('loss'))
logloss=LossHistory()
colorize.fit_generator(generate_train_batch(),samples_per_epoch=1000,nb_epoch=3,callbacks=['logloss'])
ma ovviamente questo non è la scrittura su un file. Qualunque sia il metodo, attraverso un callback o il modulo di registrazione o qualsiasi altra cosa, mi piacerebbe sentire le vostre soluzioni per la perdita di registrazione di una rete neurale keras in un file. Grazie!
Una soluzione più complessa potrebbe essere quella di utilizzare i registri tensorflow back-end e di uscita che possono essere analizzati con TensorBoard. Ma questa è una domanda diversa :-) – Ketil