Skip to main content

Stand-alone logger class for OverBoard -- Pure Python dashboard for monitoring deep learning experiments

Project description

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

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

overboard_logger-0.7.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

overboard_logger-0.7.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file overboard_logger-0.7.1.tar.gz.

File metadata

  • Download URL: overboard_logger-0.7.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for overboard_logger-0.7.1.tar.gz
Algorithm Hash digest
SHA256 a7cd6702265b72142c9c4506e170bb4d30bb91fcd30d538712c0e7bb0deae7a5
MD5 be974e7baecc22cba890ae03a5740484
BLAKE2b-256 8b6d8e377b6b78c8728c49bbc04a5b5a8caa6b20605e01057fc9b9a2cb34f2ef

See more details on using hashes here.

File details

Details for the file overboard_logger-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: overboard_logger-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for overboard_logger-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc47717a0f6db3cbf2fcd143796f3d4f9bb914d85d359ed78806c6880ab691aa
MD5 3f5410d8aa010b2ad45613e1140755ea
BLAKE2b-256 0a6489f2324e387674cef93cb1174e99e796b71f46467bc4915bca365e91bc03

See more details on using hashes here.

Supported by

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