ray.air.integrations.wandb.WandbLoggerCallback#
- class ray.air.integrations.wandb.WandbLoggerCallback(project: str | None = None, group: str | None = None, api_key_file: str | None = None, api_key: str | None = None, excludes: List[str] | None = None, log_config: bool = False, upload_checkpoints: bool = False, save_checkpoints: bool = False, upload_timeout: int = 1800, **kwargs)[源代码]#
-
Weights and biases (https://www.wandb.ai/) 是一个用于实验跟踪、模型优化和数据集版本管理的工具。这个 Ray Tune
LoggerCallback
将指标发送到 Wandb 进行自动跟踪和可视化。示例
import random from ray import train, tune from ray.train import RunConfig from ray.air.integrations.wandb import WandbLoggerCallback def train_func(config): offset = random.random() / 5 for epoch in range(2, config["epochs"]): acc = 1 - (2 + config["lr"]) ** -epoch - random.random() / epoch - offset loss = (2 + config["lr"]) ** -epoch + random.random() / epoch + offset train.report({"acc": acc, "loss": loss}) tuner = tune.Tuner( train_func, param_space={ "lr": tune.grid_search([0.001, 0.01, 0.1, 1.0]), "epochs": 10, }, run_config=RunConfig( callbacks=[WandbLoggerCallback(project="Optimization_Project")] ), ) results = tuner.fit()
- 参数:
project – Wandb 项目的名称。必填。
group – Wandb 组的名称。默认为可训练对象的名称。
api_key_file – 包含 Wandb API KEY 的文件路径。如果使用 WandbLogger,此文件只需存在于运行 Tune 脚本的节点上。
api_key – Wandb API 密钥。设置
api_key_file
的替代方法。excludes – 应从日志中排除的指标和配置列表。
log_config – 布尔值,指示是否应记录
results
字典中的config
参数。如果参数会在训练期间更改(例如在使用 PopulationBasedTraining 时),这很有意义。默认为 False。upload_checkpoints – 如果
True
,模型检查点将被上传到 Wandb 作为工件。默认为False
。**kwargs – 关键字参数将被传递给
wandb.init()
。
Wandb 的
group
、run_id
和run_name
由 Tune 自动选择,但可以通过填写相应的配置值来覆盖。请参阅此处了解所有其他有效的配置设置:https://docs.wandb.ai/library/init
PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。
方法
获取回调的状态。
处理试验恢复时的日志记录。
在Tune保存检查点后调用。
等待演员完成对
wandb.finish
的调用。在每个调优循环步骤开始时调用。
在每个调优循环步骤结束时调用。
在一个试验实例失败(出错)后调用,但该试验已安排重试。
设置回调的状态。
属性
使用
wandb.config
而不是wandb.log
保存的结果。