机器学习实验日志工具
项目描述
xplogger
机器学习实验日志工具
原因
人们使用不同的工具来记录实验结果 - 例如Tensorboard、Wandb等。与不同的合作者一起工作,我需要为每个新项目切换日志工具。因此,我制作了这个简单的工具,它为将结果记录到不同的日志记录器提供了一个公共接口。
安装
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_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
- 代码使用以下工具进行代码审查:
black
flake8
mypy
isort
- 可以使用
nox
在本地运行测试
致谢
circleci
、pre-commit
、mypy
等的配置是从Hydra借用/修改的
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。