ML实验日志工具
项目描述
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_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
- 代码使用以下工具进行代码风格检查:
black
flake8
mypy
isort
- 可以使用
nox
在本地运行测试
致谢
circleci
、pre-commit
、mypy
等配置是从 Hydra 借鉴/修改的
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
mllogger-0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eb384382bfa174a5f7cd003fbd78b297cb148e87c653614ff060b9616d343ce7 |
|
MD5 | cb24339540607504a064419ea7b2e2b6 |
|
BLAKE2b-256 | 2264fb0a7656898d769c2a21216eb07359e3e9feb0e499b5b4c183cb594d5e56 |