Skip to main content

OverBoard

OverBoard is a lightweight yet powerful dashboard to monitor your experiments.

editor

Features

  • A table of hyper-parameters with Python-syntax filtering.

  • Multiple views of the same data (i.e. custom X/Y axes).

  • Hyper-parameter visualisation (i.e. bubble plots).

  • Percentile intervals for multiple runs (i.e. shaded plots).

  • Custom visualisations (tensors and any custom plot with familiar MatPlotLib syntax).

  • Fast client-side rendering (the training code is kept lightweight).

Installation

You can install the dependencies with:

  • With Conda: conda install pyqt=5.12 pyqtgraph=0.12 -c conda-forge

  • With pip: pip install pyqt5==5.12 pyqtgraph==0.12

If you intend to use custom 3D plots with PyQtGraph, add PyOpenGL 3.1 to the lists above.

Finally, OverBoard itself can be installed with: pip install overboard

Installation - logger only

Your scripts can log data without installing the full GUI and its dependencies (so your remote GPU cluster does not need PyQt at all).

Just use: pip install overboard_logger

And remember to import overboard_logger instead of overboard in your scripts.

Usage

  • Main interface: python3 -m overboard <logs-directory>

  • Logging experiments is simple:

from overboard import Logger

with Logger('./logs') as logger:
  for iteration in range(100):
    logger.append({'loss': 0, 'error': 0})

You can also pass in a meta keyword argument, which can be a dict with hyper-parameters names and values (or other meta-data), to help organize your experiments. These will be displayed in a handy table, which supports sorting and filtering. The meta data can also be an argparse.Namespace, which is useful if your hyper-parameters are command-line arguments parsed with argparse.

By default a unique folder (using the current timestamp) is created for the logs. For full documentation on initialization arguments and other methods, type pydoc overboard on the command-line (Python built-in doc viewer).

You can also check the examples directory:

  • examples/synthetic.py: A minimal example. Generates some test logs.
  • examples/mnist.py: The mandatory MNIST example. Also includes custom MatPlotLib plots.

A note about importing: You can either import the Logger class from overboard or from overboard_logger. If you installed the "logger only" version as described above (no dependencies), then you can only import from overboard_logger.

Remote experiments

The easiest way to monitor remote experiments is to mount their directory over SFTP, and point OverBoard to it.

Tested with: SSHFS (Linux, available in most distros), FUSE (Mac), SFTP NetDrive (Windows).

Since most of these don't allow OverBoard to monitor log files with the default light-weight method, the plots may not update automatically; in that case use the command-line argument --force-reopen-files.

Depending on the remote server's configuration (e.g. firewall settings), you might need to use a VPN to tunnel to the server's network, to ensure that the right ports are not blocked to you (i.e. having SSH access does not guarantee SFTP access from an external network).

Author

João Henriques, Visual Geometry Group (VGG), University of Oxford

Metadata

Release files for overboard-logger 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for overboard-logger 0.7.1
File Size Uploaded Provenance
overboard_logger-0.7.1.tar.gz 8.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for overboard-logger 0.7.1
File Interpreter ABI Platform
overboard_logger-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / overboard_logger-0.7.1.tar.gz

Download URL overboard_logger-0.7.1.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a7cd6702265b72142c9c4506e170bb4d30bb91fcd30d538712c0e7bb0deae7a5
BLAKE2b-256 checksum
How to use checksums
8b6d8e377b6b78c8728c49bbc04a5b5a8caa6b20605e01057fc9b9a2cb34f2ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.0.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release files / overboard_logger-0.7.1-py3-none-any.whl

Download URL overboard_logger-0.7.1-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc47717a0f6db3cbf2fcd143796f3d4f9bb914d85d359ed78806c6880ab691aa
BLAKE2b-256 checksum
How to use checksums
0a6489f2324e387674cef93cb1174e99e796b71f46467bc4915bca365e91bc03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.0.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Security for overboard-logger 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page