Skip to main content

Logging Utility for ML Experiments

Project description

CircleCI PyPI - License PyPI - Python Version Code style: black

ml-logger

Logging utility for ML experiments

Installation

  • pip install "mllogger[all]==0.3"

If you want to use only the filesystem logger, use pip install "mllogger==0.3"

Install from source

  • git clone git@github.com:shagunsodhani/ml-logger.git
  • cd ml-logger
  • pip install ".[all]"

Alternatively, pip install "git+https://git@github.com/shagunsodhani/ml-logger.git@master#egg=ml_logger[all]"

If you want to use only the filesystem logger, use pip install . or pip install "git+https://git@github.com/shagunsodhani/ml-logger.git@master#egg=ml_logger".

Documentation

https://shagunsodhani.github.io/ml-logger

Use

  • Make a logbook_config:

    from ml_logger import logbook as ml_logbook
    logbook_config = ml_logbook.make_config(
        logger_dir = <path to write logs>,
        wandb_config = <wandb config or None>,
        tensorboard_config = <tensorboard config or None>,
        mlflow_config = <mlflow config or None>)
    

    The API for make_config can be accessed here.

  • Make a LogBook instance:

    logbook = ml_logbook.LogBook(config = logbook_config)
    
  • Use the logbook instance:

    log = {
        "epoch": 1,
        "loss": 0.1,
        "accuracy": 0.2
    }
    logbook.write_metric_log(log)
    

    The API for write_metric_log can be accessed here.

Note

  • If you are writing to wandb, the log must have a key called step. If your log already captures the step but as a different key (say epoch), you can pass the wandb_key_map argument (set as {epoch: step}). For more details, refer the documentation here.

  • If you are writing to mlflow, the log must have a key called step. If your log already captures the step but as a different key (say epoch), you can pass the mlflow_key_map argument (set as {epoch: step}). For more details, refer the documentation here.

  • If you are writing to tensorboard, the log must have a key called main_tag or tag which acts as the data Identifier and another key called global_step. These keys are described here. If your log already captures these values but as different key (say mode for main_tag and epoch for global_step), you can pass the tensorboard_key_map argument (set as {mode: main_tag, epoch: global_step}). For more details, refer the documentation here.

Dev Setup

  • pip install -e ".[dev]"
  • Install pre-commit hooks pre-commit install
  • The code is linted using:
    • black
    • flake8
    • mypy
  • Tests can be run locally using nox

Acknowledgements

  • Config for circleci, pre-commit, mypy etc are borrowed/modified from Hydra

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

mllogger-0.4.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

mllogger-0.4-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file mllogger-0.4.tar.gz.

File metadata

  • Download URL: mllogger-0.4.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0.post20200119 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for mllogger-0.4.tar.gz
Algorithm Hash digest
SHA256 6b5410046d094c68eaf9b84ea05f2000640808af4e3f4c809aaca5cdbdbd2276
MD5 6f6601e30adda268421822c2e3813b19
BLAKE2b-256 213d5d3438543acfd1165defd66a0f2d8ebaa29d68052439868a10eaf3b56637

See more details on using hashes here.

File details

Details for the file mllogger-0.4-py3-none-any.whl.

File metadata

  • Download URL: mllogger-0.4-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0.post20200119 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for mllogger-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 973d55a9e3f23992fb56c7aefe84281c5e6cfa03232380ee3899d34d2b7567f0
MD5 fcaf83d71a2d6691f7af24748fd7996a
BLAKE2b-256 d893038f4b0b934aeaad8773a3851a6680da35454a4be8deb1a1f2475381a7f7

See more details on using hashes here.

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