ML实验日志工具
项目描述
ml-logger
ML实验日志工具
为什么
人们使用不同的工具来记录实验结果 - Tensorboard, Wandb 等等。与不同的合作者一起工作,我必须为每个新项目切换日志工具。因此,我制作了这个简单的工具,它提供了一个通用接口,可以将结果记录到不同的日志记录器中。
安装
pip install "mllogger[all]"
如果您只想使用文件系统日志记录器,请使用 pip install "mllogger"
从源安装
git clone git@github.com:shagunsodhani/ml-logger.gitcd ml-loggerpip 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_configfrom 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_tag或tag的键,它作为数据标识符,以及另一个名为global_step的键。这些键的描述在此。如果您的log已经捕获了这些值但作为不同的键(例如,对于main_tag的mode和对于global_step的epoch),则可以传递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 借鉴/修改的
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
mllogger-0.7.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | eb384382bfa174a5f7cd003fbd78b297cb148e87c653614ff060b9616d343ce7 |
|
| MD5 | cb24339540607504a064419ea7b2e2b6 |
|
| BLAKE2b-256 | 2264fb0a7656898d769c2a21216eb07359e3e9feb0e499b5b4c183cb594d5e56 |