Keras Model.fit Verbose Formatting

You can try the Keras-adapted version of the TQDM progress bar library.

  • The original TQDM library: https://github.com/tqdm/tqdm
  • The Keras version of TQDM: https://github.com/bstriner/keras-tqdm

The usage instructions can be brought down to:

  1. install e.g. per pip install keras-tqdm (stable) or pip install git+https://github.com/bstriner/keras-tqdm.git (for latest dev-version)

  2. import the callback function with from keras_tqdm import TQDMNotebookCallback

  3. run Keras' fit or fit_generator with verbose=0 or verbose=2 settings, but with a callback to the imported TQDMNotebookCallback, e.g. model.fit(X_train, Y_train, verbose=0, callbacks=[TQDMNotebookCallback()])

The result:

enter image description here


Took me a while to see this but I just added built-in support for keras in tqdm (version >= 4.41.0) so you could do:

from tqdm.keras import TqdmCallback
...
model.fit(..., verbose=0, callbacks=[TqdmCallback(verbose=2)])

This turns off keras' progress (verbose=0), and uses tqdm instead. For the callback, verbose=2 means separate progressbars for epochs and batches. 1 means clear batch bars when done. 0 means only show epochs (never show batch bars).