入门

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 及其结果的列表

Getting Started Example

后续步骤

反馈

本页是否有帮助?


最后修改于 2025年3月29日: website: Add dark theme (#3981) (4f092f1)