跳转到主要内容

ML实验日志工具

项目描述

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

ml-logger

ML实验日志工具

为什么

人们使用不同的工具来记录实验结果 - Tensorboard, Wandb 等等。与不同的合作者一起工作,我必须为每个新项目切换日志工具。因此,我制作了这个简单的工具,它提供了一个通用接口,可以将结果记录到不同的日志记录器中。

安装

  • pip install "mllogger[all]"

如果您只想使用文件系统日志记录器,请使用 pip install "mllogger"

从源安装

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

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

如果您只想使用文件系统日志记录器,请使用 pip install .pip install "git+https://git@github.com/shagunsodhani/ml-logger.git@master#egg=ml_logger"

文档

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

使用

  • 创建一个 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>)
    

    可以通过 此处 访问 make_config 的API。

  • 创建一个 LogBook 实例

    logbook = ml_logbook.LogBook(config = logbook_config)
    
  • 使用 logbook 实例

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

    可以通过 此处 访问 write_metric 的API。

注意

  • 如果您正在向 wandb 写入,则 log 必须有一个名为 step 的键。如果您的 log 已经捕获了 step 但作为不同的键(例如 epoch),则可以传递 wandb_key_map 参数(设置为 {epoch: step})。有关更多详细信息,请参阅文档此处

  • 如果您正在向 mlflow 写入,则 log 必须有一个名为 step 的键。如果您的 log 已经捕获了 step 但作为不同的键(例如 epoch),则可以传递 mlflow_key_map 参数(设置为 {epoch: step})。有关更多详细信息,请参阅文档此处

  • 如果您正在向 tensorboard 写入,则 log 必须有一个名为 main_tagtag 的键,它作为数据标识符,以及另一个名为 global_step 的键。这些键的描述在此。如果您的 log 已经捕获了这些值但作为不同的键(例如,对于 main_tagmode 和对于 global_stepepoch),则可以传递 tensorboard_key_map 参数(设置为 {mode: main_tag, epoch: global_step})。有关更多详细信息,请参阅文档此处

开发设置

  • pip install -e ".[dev]"
  • 安装 pre-commit 钩子 pre-commit install
  • 代码使用以下工具进行代码风格检查:
    • black
    • flake8
    • mypy
    • isort
  • 可以使用 nox 在本地运行测试

致谢

  • circlecipre-commitmypy 等配置是从 Hydra 借鉴/修改的

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

mllogger-0.7.tar.gz (19.4 kB 查看哈希值)

上传时间

构建分发

mllogger-0.7-py3-none-any.whl (26.0 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页