Repolode
kubeflow

kubeflow/katib

A Kubernetes-native AutoML system for hyperparameter tuning, early stopping, and neural architecture search across ML frameworks.

Stars
1,707
Forks
550
Open issues
120
Last commit
6 days ago

What is it?

Katib is an AutoML project built for Kubernetes. It runs hyperparameter tuning, early stopping, and neural architecture search, and it is agnostic to the ML framework: any application in any language can be tuned as long as it can be launched as a Kubernetes workload and report its metrics.

Trials are launched through Kubernetes custom resources, with out-of-the-box support for Kubeflow Training Operator, Argo Workflows, and Tekton Pipelines. The search itself relies on algorithms such as random search, grid search, Bayesian optimization, TPE, CMA-ES, HyperBand, and Population Based Training, with optional backing from Goptuna, Hyperopt, Optuna, and Scikit-Optimize.

Katib can be installed as a standalone control plane via kubectl, and it ships a Python SDK (kubeflow-katib) for data scientists who want to define and submit tuning experiments from Python.

Key features

  • 01Supports hyperparameter tuning, early stopping, and neural architecture search.
  • 02Works with any training application that can run as a Kubernetes custom resource.
  • 03Includes algorithms such as Bayesian optimization, TPE, CMA-ES, HyperBand, and PBT.
  • 04Integrates with Kubeflow Training Operator, Argo Workflows, and Tekton Pipelines.
  • 05Provides a Python SDK for creating and submitting tuning experiments.

Use cases

  • Tuning hyperparameters for TensorFlow, PyTorch, or XGBoost models trained on a Kubernetes cluster.
  • Running large parallel search jobs across cluster resources instead of on a single machine.
  • Searching neural network architectures with ENAS or DARTS.
  • Adding automated early stopping to long-running training jobs.

Quick start

  1. 1

    Install the Katib control plane on a Kubernetes cluster (stable release v0.17.0)

    kubectl apply -k "github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=v0.17.0"
  2. 2

    Install the Katib Python SDK from PyPI

    pip install -U kubeflow-katib
  3. 3

    Follow the getting started guide to create your first hyperparameter tuning Experiment with the Python SDK

Things to know

  • Requires a running Kubernetes cluster with Kubernetes knowledge to install and use.
  • Installation prerequisites and setup are detailed only in the external Kubeflow documentation.

Topics

FAQ

What is katib?
A Kubernetes-native AutoML system for hyperparameter tuning, early stopping, and neural architecture search across ML frameworks. Katib is an AutoML project built for Kubernetes. It runs hyperparameter tuning, early stopping, and neural architecture search, and it is agnostic to the ML framework: any application in any language can be tuned as long as it can be launched as a Kubernetes workload and report its metrics.
Is katib free to use? What license does it have?
katib is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is katib still maintained?
Actively maintained. The last commit to katib was on Oct 31, 2026.
What can I use katib for?
Tuning hyperparameters for TensorFlow, PyTorch, or XGBoost models trained on a Kubernetes cluster. Running large parallel search jobs across cluster resources instead of on a single machine. Searching neural network architectures with ENAS or DARTS. Adding automated early stopping to long-running training jobs.
How do I install katib?
Install the Katib control plane on a Kubernetes cluster (stable release v0.17.0): kubectl apply -k "github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=v0.17.0" Install the Katib Python SDK from PyPI: pip install -U kubeflow-katib Follow the getting started guide to create your first hyperparameter tuning Experiment with the Python SDK
Where can I get katib?
The source code and installation instructions are on GitHub: https://github.com/kubeflow/katib

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects