anmelden Wenn Sie einen Keras Neuralnetzwerkmodells laufen könnten Sie so etwas wie dies in der Konsole sehen:Wie Keras Verlust Ausgabe in eine Datei
Epoch 1/3
6/1000 [..............................] - ETA: 7994s - loss: 5111.7661
Im Laufe der Zeit den Verlust geht hoffentlich verbessert. Ich möchte diese Verluste im Laufe der Zeit in einer Datei protokollieren, damit ich von ihnen lernen kann. Ich habe versucht:
logging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG)
aber das funktioniert nicht. Ich bin mir nicht sicher, welches Protokollierungsniveau ich in dieser Situation brauche.
Ich habe auch versucht, einen Rückruf wie bei der Verwendung:
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'])
aber offensichtlich ist dies nicht in eine Datei zu schreiben. Unabhängig von der Methode, durch einen Callback oder das Logging-Modul oder irgendetwas anderes, würde ich gerne Ihre Lösungen für die Protokollierung des Verlustes eines Keras neuronalen Netzwerks in einer Datei hören. Vielen Dank!
Eine komplexere Lösung könnte sein TensorFlow Backend und Ausgabeprotokolle zu verwenden, die mit TensorBoard analysiert werden kann. Aber das ist eine andere Frage :-) – Ketil