如何在张量流中显示训练进度条?

时间:2019-07-26 06:39:34

标签: python tensorflow

我正在尝试向终端输出与Keras训练相同类型的训练进度条。我是tensorflow的新手,还没有尝试过Keras,但是我很想知道如果没有Keras,它是否可以完成。

3 个答案:

答案 0 :(得分:7)

import tensorflow as tf
train_data = (...) 
progbar = tf.keras.utils.Progbar(len(train_data))

for i, d in enumerate(train_data):
    (train model here...)
    progbar.update(i+1) # This will update the progress bar graph.


3714/3715 [============================>.] - ETA: 20s
  • 在Tensorflow(v1.1〜2.1)中,建议使用tf.keras.utils.Progbar()而不是导入tqdm。
  • 仅供参考,请使用tf.print()而不是python native print function。

答案 1 :(得分:2)

也许我不完全了解您的training progress bar的含义:
但我认为您可以尝试使用python软件包:tqdm,将其放入您的training loop

from tqdm import tqdm
for i in tqdm(range(10000)):
    ...

然后您将得到类似的内容:

100%|██████████| 10000/10000 [00:00<00:00, 1383300.02it/s]

tqdm的文档。 https://tqdm.github.io/

答案 2 :(得分:0)

是的,有可能。

model.fit(X, y, nb_epoch=40, batch_size=32, validation_split=0.2, verbose=0)

详细:0表示不记录到stdout,1表示进度条记录,2表示每个纪元一个日志行。