在 GitHub 上编辑

Optuna

DVCLive 可以为你的 Optuna 项目添加实验跟踪功能。

用法

在传递给 study.optimize 的回调列表中包含 DVCLiveCallback

from dvclive.optuna import DVCLiveCallback

...

study.optimize(
    objective, n_trials=7, callbacks=[DVCLiveCallback()])

如果你在 objective 函数中使用了机器学习框架,可以改用该框架对应的 DVCLive 集成。请参见 下方示例

每个 trial 将创建一个 DVC 实验,跟踪相关的指标和参数。

参数

  • metric_name - (默认为 metric)- 要优化的指标的名称。

  • **kwargs - 任何其他参数都将用于实例化一个新的 Live 实例。

示例

Optuna 回调

import optuna

from dvclive.optuna import DVCLiveCallback

def objective(trial):
    x = trial.suggest_float("x", -10, 10)
    return (x - 2) ** 2

study = optuna.create_study()

study.optimize(
    objective, n_trials=7, callbacks=[DVCLiveCallback()])

Optuna 与机器学习框架

Optuna 和 Keras 示例 中,你可以使用 dvclive.keras 回调:

from dvclive import Live
from dvclive.keras import DVCLiveCallback

...

with Live() as live:
    live.log_params(trial.params)
    model.fit(
        x_train,
        y_train,
        validation_data=(x_valid, y_valid),
        shuffle=True,
        batch_size=BATCHSIZE,
        epochs=EPOCHS,
        verbose=False,
        callbacks=[DVCLiveCallback(live=live)]
    )
内容

🐛 发现问题?告诉我们!或者修复它:

在 GitHub 上编辑

有疑问?加入我们的聊天,我们会为您提供帮助:

Discord 聊天