OverBoard
OverBoard is a lightweight yet powerful dashboard to monitor your experiments.
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| overboard_logger-0.7.1.tar.gz | 8.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.