跳转到主要内容

机器学习实验日志工具

项目描述

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

xplogger

机器学习实验日志工具

原因

人们使用不同的工具来记录实验结果 - 例如TensorboardWandb等。与不同的合作者一起工作,我需要为每个新项目切换日志工具。因此,我制作了这个简单的工具,它为将结果记录到不同的日志记录器提供了一个公共接口。

安装

  • pip install "xplogger[all]"

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

从源安装

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

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

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

文档

https://shagunsodhani.github.io/xplogger

使用

  • 创建一个 logbook_config

    import xplogger.logbook
    logbook_config = xplogger.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 = xplogger.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已经捕获了这些值但作为不同的键(例如mode用于main_tagepoch用于global_step),您可以传递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借用/修改的

项目详情


下载文件

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

源代码分发

xplogger-0.11.3.tar.gz (36.8 kB 查看哈希)

上传时间 源代码

构建分发

xplogger-0.11.3-py3-none-any.whl (51.8 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页