Skip to main content

A simple and compact one-line progress bar for TensorFlow 2 Keras.

Project description

Build PyPi Downloads License Binder

A simple and compact one-line progress bar for TensorFlow 2 Keras.


TensorFlow Compact Progress Bar

Existing ways of monitoring training of TensorFlow Keras models either display nothing (verbose=0), one progress bar per epoch (verbose=1), or prints one line of metrics per epoch (verbose=2). When training for thousands of epochs, this often leads to bloated log files or crashed/sluggish Jupyter environments when working interactively.

This library provides a compact progress bar that simply displays the overall training progress by epoch. There are also a few small additional features for convenience, such as excluding certain metrics to avoid excessive clutter.

Notebook mode notebook_demo

Console mode console_demo

Getting Started

Install from PyPi:

$ pip install tf-compactprogbar

Dependencies

  • tensorflow >= 2 (TF 1 likely works, but untested)
  • tqdm
  • python >= 3.7
  • ipywidgets (Optional)
  • jupyterlab_widgets (Optional)

For nice looking Jupyter/IPython progress bars, make sure you have ipywidgets and jupyterlab_widgets if you are on Jupyter Lab.

Usage

To use it, disable the built-in logging (verbose=0) and pass it in as a Callback:

from tf_compactprogbar import CompactProgressBar

progBar = CompactProgressBar()
history = model.fit(X_train, Y_train,
                    epochs=200,
                    batch_size=100,
                    verbose=0,
                    validation_data = (X_test, Y_test),
                    callbacks=[progBar])

Documentation

# Call signature
CompactProgressBar(show_best=True, best_as_max=[], exclude=[], notebook='auto', epochs=None)

Args:
        - show_best    (bool)      Display best metrics. Default: True
        - best_as_max  (list)      Metrics which should be maximized (see note)
        - exclude      (list)      Metrics which should be excluded from display
        - notebook     (str/bool)  Whether to use IPython/Jupyter widget or console. Default: 'auto'
        - epochs       (int)       Optional total number of epochs. Default is inferred from `.fit`.
        
Note: When using `show_best`, by default the "best" metric is the minimum. Pass
in the metric name to `best_as_max` to change this behavior.

If there are any issues in Jupyter, please see the tqdm Issues page for help or disable notebook mode with notebook=False.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tf_compactprogbar-1.0.0.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

tf_compactprogbar-1.0.0-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page