我在 Jupyter notebook 中运行 Keras model.fit(),如果 verbose 设置为 1,输出会非常混乱:
Train on 6400 samples, validate on 800 samples
Epoch 1/200
2080/6400 [========>.....................] - ETA: 39s - loss: 0.4383 - acc: 0.79
- ETA: 34s - loss: 0.3585 - acc: 0.84 - ETA: 33s - loss: 0.3712 - acc: 0.84
- ETA: 34s - loss: 0.3716 - acc: 0.84 - ETA: 33s - loss: 0.3675 - acc: 0.84
- ETA: 33s - loss: 0.3650 - acc: 0.84 - ETA: 34s - loss: 0.3759 - acc: 0.83
- ETA: 34s - loss: 0.3933 - acc: 0.82 - ETA: 34s - loss: 0.3985 - acc: 0.82
- ETA: 34s - loss: 0.4057 - acc: 0.82 - ETA: 33s - loss: 0.4071 - acc: 0.81
....
如您所见,ETA、loss、acc 输出一直附加到日志中,而不是替换第一行中的原始 ETA/loss/acc 值,就像进度条的工作方式一样。
我如何修复它以便每个时期只显示 1 行进度条、ETA、损失和 acc?现在,随着训练的继续,我的细胞输出有大量这样的线条。
我在 Windows 10 上运行 Python 3.6.1,具有以下模块版本:
jupyter 1.0.0
jupyter-client 5.0.1
jupyter-console 5.1.0
jupyter-core 4.3.0
jupyterthemes 0.19.0
Keras 2.2.0
Keras-Applications 1.0.2
Keras-Preprocessing 1.0.1
tensorflow-gpu 1.7.0
谢谢你。
原文由 Mongrel Jedi 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以试试 Keras 适配版本的 TQDM 进度条库。
使用说明可以归结为:
安装例如
pip install keras-tqdm
(稳定)或pip install git+https://github.com/bstriner/keras-tqdm.git
(最新的开发版本)导入回调函数
from keras_tqdm import TQDMNotebookCallback
run Keras’
fit
orfit_generator
withverbose=0
orverbose=2
settings, but with a callback to the importedTQDMNotebookCallback
, 例如model.fit(X_train, Y_train, verbose=0, callbacks=[TQDMNotebookCallback()])
结果: