在 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)]
)