Po uruchomieniu Keras model sieci neuronowej można zobaczyć coś takiego w konsoli:Jak zalogować wyjście strat Keras do pliku
Epoch 1/3
6/1000 [..............................] - ETA: 7994s - loss: 5111.7661
miarę upływu czasu utraty nadzieją poprawia. Chcę z upływem czasu rejestrować te straty w pliku, aby móc się z nich uczyć. Próbowałem:
logging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG)
ale to nie działa. Nie wiem, jakiego poziomu rejestrowania potrzebuję w tej sytuacji.
Próbowałem również za pomocą zwrotnego jak w:
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'])
ale oczywiście to nie jest pisanie do pliku. Bez względu na metodę, za pośrednictwem wywołania zwrotnego lub modułu rejestrowania lub cokolwiek innego, chciałbym usłyszeć swoje rozwiązania do rejestrowania utraty sieci neuronowej keras do pliku. Dzięki!
bardziej złożony rozwiązaniem może być użycie TensorFlow silnikiem i wyjściowych kłody, która może być analizowany w TensorBoard. Ale to inne pytanie :-) – Ketil