入门
Katib 入门
本指南介绍如何开始使用 Katib 并运行一些示例。
前提条件
您需要安装以下 Katib 组件来运行示例
Katib Python SDK 入门
您可以使用 Python SDK 运行您的第一个超参数调优 Katib 实验。
在以下示例中,我们将最大化一个简单的目标函数
$$ F(a,b) = 4a - b^2 $$
\(a\) 值越大,\(b\) 值越小,函数值 \(F\) 就越大。
如果您独立安装 Katib,请确保您已配置本地 kubeconfig
以访问您安装了 Katib 控制平面的 Kubernetes 集群。
如果您将 Katib 作为 Kubeflow Platform 的一部分进行安装,您可以打开一个新的Kubeflow Notebook 来运行此脚本。
注意。如果您在 Kubeflow Platform 中使用 Katib 运行此示例,您需要使用此命名空间:KatibClient(namespace="kubeflow-user-example-com")
。
注意。kubeflow
命名空间已预配置了指标收集所需的标签 katib.kubeflow.org/metrics-collector-injection: enabled
。如果您想在其他命名空间中使用拉取式指标收集器,您可以按照指标收集器中的说明附加此标签。
# [1] Create an objective function.
def objective(parameters):
# Import required packages.
import time
time.sleep(5)
# Calculate objective function.
result = 4 * int(parameters["a"]) - float(parameters["b"]) ** 2
# Katib parses metrics in this format: <metric-name>=<metric-value>.
print(f"result={result}")
import kubeflow.katib as katib
# [2] Create hyperparameter search space.
parameters = {
"a": katib.search.int(min=10, max=20),
"b": katib.search.double(min=0.1, max=0.2)
}
# [3] Create Katib Experiment with 12 Trials and 2 CPUs per Trial.
katib_client = katib.KatibClient(namespace="kubeflow")
name = "tune-experiment"
katib_client.tune(
name=name,
objective=objective,
parameters=parameters,
objective_metric_name="result",
max_trial_count=12,
resources_per_trial={"cpu": "2"},
)
# [4] Wait until Katib Experiment is complete
katib_client.wait_for_experiment_condition(name=name)
# [5] Get the best hyperparameters.
print(katib_client.get_optimal_hyperparameters(name))
您应该会获得最优化 Trial、超参数和观察指标的类似输出
{
"best_trial_name": "tune-experiment-nmggpxx2",
"parameter_assignments": [
{
"name": "a",
"value": "19"
},
{
"name": "b",
"value": "0.13546396192975868"
}
],
"observation": {
"metrics": [
{
"latest": "75.98164951501829",
"max": "75.98164951501829",
"min": "75.98164951501829",
"name": "result"
}
]
}
}
在Katib UI 中,您应该会看到所有已完成 Trial 及其结果的列表
后续步骤
查看Katib UI 指南以获取有关您的 Katib 实验的更多信息。
使用 YAML 运行 Katib 超参数调优实验。
了解如何配置Katib 实验参数。
查看更多Katib 示例。
最后修改于 2025年3月29日: website: Add dark theme (#3981) (4f092f1)