机器学习实验日志工具
项目描述
xplogger
机器学习实验日志工具
原因
人们使用不同的工具来记录实验结果 - 例如Tensorboard、Wandb等。与不同的合作者一起工作,我需要为每个新项目切换日志工具。因此,我制作了这个简单的工具,它为将结果记录到不同的日志记录器提供了一个公共接口。
安装
pip install "xplogger[all]"
如果您只想使用文件系统日志记录器,请使用 pip install "xplogger"
从源安装
git clone git@github.com:shagunsodhani/xplogger.gitcd xploggerpip 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_configimport 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_configAPI。 -
创建一个
LogBook实例logbook = xplogger.logbook.LogBook(config = logbook_config) -
使用
logbook实例log = { "epoch": 1, "loss": 0.1, "accuracy": 0.2 } logbook.write_metric(log)可以通过这里访问
write_metricAPI。
注意
-
如果您正在写入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_tag或tag的键,作为数据标识符,以及另一个名为global_step的键。这些键的描述在这里。如果您的log已经捕获了这些值但作为不同的键(例如mode用于main_tag和epoch用于global_step),您可以传递tensorboard_key_map参数(设置为{mode: main_tag, epoch: global_step})。有关更多详细信息,请参阅文档这里。
开发设置
pip install -e ".[dev]"- 安装pre-commit钩子
pre-commit install - 代码使用以下工具进行代码审查:
blackflake8mypyisort
- 可以使用
nox在本地运行测试
致谢
circleci、pre-commit、mypy等的配置是从Hydra借用/修改的
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。