ove

overboard

Pure Python dashboard for monitoring deep learning experiments (like TensorBoard for PyTorch/MXNet/etc, without a browser)

Showing:

Popularity

Downloads/wk

0

GitHub Stars

90

Maintenance

Last Commit

4mos ago

Contributors

4

Package

Dependencies

0

License

Categories

Readme

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

The main OverBoard GUI uses Python 3; however, experiments can be logged from both Python 2 and 3 scripts.

The main dependencies are PyQt 5 and PyQtGraph. These can be installed as follows:

  • With Conda: conda install pyqt pyqtgraph -c anaconda

  • With pip: pip install pyqt5 pyqtgraph

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

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})

See the examples directory for more details.

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

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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial