保存模型标准

时间:2019-02-28 04:00:32

标签: tensorflow keras jupyter-notebook

我有一个模型,需要几个小时的训练。这行看起来像这样...

model.fit_generator(generator = generate_batch(X_train, y_train, batch_size = batch_size),
                    steps_per_epoch = train_samples//batch_size,
                    epochs=epochs,
                    validation_data = generate_batch(X_test, y_test, batch_size = batch_size),
                    validation_steps = val_samples//batch_size)

刷新笔记本时,它停止显示进度。在最近几个小时内,纪元8/50-75/237没有改变。内核已连接并且正忙。我怎么知道工作何时完成?

Epoch 1/50
237/237 [==============================] - 2730s 12s/step - loss: 6.6099 - acc: 0.1692 - val_loss: 5.9509 - val_acc: 0.1790
Epoch 2/50
237/237 [==============================] - 2953s 12s/step - loss: 5.7143 - acc: 0.1991 - val_loss: 5.5409 - val_acc: 0.2187
Epoch 3/50
237/237 [==============================] - 2895s 12s/step - loss: 5.3835 - acc: 0.2315 - val_loss: 5.3152 - val_acc: 0.2475
Epoch 4/50
237/237 [==============================] - 2858s 12s/step - loss: 4.6985 - acc: 0.2944 - val_loss: 4.7809 - val_acc: 0.3017
Epoch 8/50
 75/237 [========>.....................] - ETA: 32:28 - loss: 4.1200 - acc: 0.3638

1)我不想使用python命令提示符。我想知道是否有可能使用Jupyter。

2)如果我中断了内核,我可以使用模型吗?可以,但我的准确性较低,因为我只是在测试脚本。

2 个答案:

答案 0 :(得分:1)

您可以为此使用keras中的CSVLogger

您可以找到有关here的更多信息

演示用法示例如下

from keras.callbacks import CSVLogger

filename = 'training_log.csv'
logger = CSVLogger(filename, separator=',')

model.fit(X_train, Y_train, callbacks=[logger])

答案 1 :(得分:0)

这可以通过将标准保存到文件中来实现。

import sys
oldStdout = sys.stdout
file = open('logFile', 'w')
sys.stdout = file
model.fit(Xtrain, Ytrain)
sys.stdout = oldStdout

发件人: How to log Keras loss output to a file