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)[源代码]#

基类:LoggerCallback

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 的 grouprun_idrun_name 由 Tune 自动选择,但可以通过填写相应的配置值来覆盖。

请参阅此处了解所有其他有效的配置设置:https://docs.wandb.ai/library/init

PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。

方法

get_state

获取回调的状态。

log_trial_restore

处理试验恢复时的日志记录。

on_checkpoint

在Tune保存检查点后调用。

on_experiment_end

等待演员完成对 wandb.finish 的调用。

on_step_begin

在每个调优循环步骤开始时调用。

on_step_end

在每个调优循环步骤结束时调用。

on_trial_recover

在一个试验实例失败(出错)后调用,但该试验已安排重试。

set_state

设置回调的状态。

属性

AUTO_CONFIG_KEYS

使用 wandb.config 而不是 wandb.log 保存的结果。