{"id":13633384,"url":"https://github.com/kubeflow/katib","last_synced_at":"2025-05-13T18:06:58.890Z","repository":{"id":37492889,"uuid":"127941481","full_name":"kubeflow/katib","owner":"kubeflow","description":"Automated Machine Learning on Kubernetes","archived":false,"fork":false,"pushed_at":"2025-05-13T04:31:20.000Z","size":104960,"stargazers_count":1576,"open_issues_count":119,"forks_count":474,"subscribers_count":60,"default_branch":"master","last_synced_at":"2025-05-13T05:26:51.805Z","etag":null,"topics":["ai","automl","huggingface","hyperparameter-tuning","jax","kubeflow","kubernetes","llm","machine-learning","mlops","neural-architecture-search","pytorch","scikit-learn","tensorflow"],"latest_commit_sha":null,"homepage":"https://www.kubeflow.org/docs/components/katib","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubeflow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-03T17:07:12.000Z","updated_at":"2025-05-13T04:31:25.000Z","dependencies_parsed_at":"2023-02-15T05:01:04.435Z","dependency_job_id":"5799a39e-1a0e-4520-a333-762b46a3bb74","html_url":"https://github.com/kubeflow/katib","commit_stats":{"total_commits":1289,"total_committers":138,"mean_commits":9.340579710144928,"dds":0.7362296353762607,"last_synced_commit":"706a6f2190dd39620c5df6117a2e437f59d8fa58"},"previous_names":["kubeflow/hp-tuning"],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeflow%2Fkatib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeflow%2Fkatib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeflow%2Fkatib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeflow%2Fkatib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubeflow","download_url":"https://codeload.github.com/kubeflow/katib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253883456,"owners_count":21978612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automl","huggingface","hyperparameter-tuning","jax","kubeflow","kubernetes","llm","machine-learning","mlops","neural-architecture-search","pytorch","scikit-learn","tensorflow"],"created_at":"2024-08-01T23:00:36.122Z","updated_at":"2025-05-13T18:06:58.866Z","avatar_url":"https://github.com/kubeflow.png","language":"Python","readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"./docs/images/logo-title.png\" alt=\"logo\" width=\"200\"\u003e\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n[![Build Status](https://github.com/kubeflow/katib/actions/workflows/test-go.yaml/badge.svg?branch=master)](https://github.com/kubeflow/katib/actions/workflows/test-go.yaml?branch=master)\n[![Coverage Status](https://coveralls.io/repos/github/kubeflow/katib/badge.svg?branch=master)](https://coveralls.io/github/kubeflow/katib?branch=master)\n[![Go Report Card](https://goreportcard.com/badge/github.com/kubeflow/katib)](https://goreportcard.com/report/github.com/kubeflow/katib)\n[![Releases](https://img.shields.io/github/release-pre/kubeflow/katib.svg?sort=semver)](https://github.com/kubeflow/katib/releases)\n[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack\u0026style=social)](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels)\n\nKatib is a Kubernetes-native project for automated machine learning (AutoML).\nKatib supports\n[Hyperparameter Tuning](https://en.wikipedia.org/wiki/Hyperparameter_optimization),\n[Early Stopping](https://en.wikipedia.org/wiki/Early_stopping) and\n[Neural Architecture Search](https://en.wikipedia.org/wiki/Neural_architecture_search).\n\nKatib is the project which is agnostic to machine learning (ML) frameworks.\nIt can tune hyperparameters of applications written in any language of the\nusers’ choice and natively supports many ML frameworks, such as\n[TensorFlow](https://www.tensorflow.org/), [PyTorch](https://pytorch.org/), [XGBoost](https://xgboost.readthedocs.io/en/latest/), and others.\n\nKatib can perform training jobs using any Kubernetes\n[Custom Resources](https://www.kubeflow.org/docs/components/katib/trial-template/)\nwith out of the box support for [Kubeflow Training Operator](https://github.com/kubeflow/training-operator),\n[Argo Workflows](https://github.com/argoproj/argo-workflows), [Tekton Pipelines](https://github.com/tektoncd/pipeline)\nand many more.\n\nKatib stands for `secretary` in Arabic.\n\n## Search Algorithms\n\nKatib supports several search algorithms. Follow the\n[Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/user-guides/hp-tuning/configure-algorithm/#hp-tuning-algorithms)\nto know more about each algorithm and check the\n[this guide](https://www.kubeflow.org/docs/components/katib/user-guides/hp-tuning/configure-algorithm/#use-custom-algorithm-in-katib)\nto implement your custom algorithm.\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003cb\u003eHyperparameter Tuning\u003c/b\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cb\u003eNeural Architecture Search\u003c/b\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cb\u003eEarly Stopping\u003c/b\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#random-search\"\u003eRandom Search\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#neural-architecture-search-based-on-enas\"\u003eENAS\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/early-stopping/#median-stopping-rule\"\u003eMedian Stop\u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#grid-search\"\u003eGrid Search\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#differentiable-architecture-search-darts\"\u003eDARTS\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#bayesian-optimization\"\u003eBayesian Optimization\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#tree-of-parzen-estimators-tpe\"\u003eTPE\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#multivariate-tpe\"\u003eMultivariate TPE\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#covariance-matrix-adaptation-evolution-strategy-cma-es\"\u003eCMA-ES\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#sobols-quasirandom-sequence\"\u003eSobol's Quasirandom Sequence\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#hyperband\"\u003eHyperBand\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://www.kubeflow.org/docs/components/katib/experiment/#pbt\"\u003ePopulation Based Training\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nTo perform the above algorithms Katib supports the following frameworks:\n\n- [Goptuna](https://github.com/c-bata/goptuna)\n- [Hyperopt](https://github.com/hyperopt/hyperopt)\n- [Optuna](https://github.com/optuna/optuna)\n- [Scikit Optimize](https://github.com/scikit-optimize/scikit-optimize)\n\n## Prerequisites\n\nPlease check [the official Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/installation/#prerequisites)\nfor prerequisites to install Katib.\n\n## Installation\n\nPlease follow [the Kubeflow Katib guide](https://www.kubeflow.org/docs/components/katib/installation/#installing-katib)\nfor the detailed instructions on how to install Katib.\n\n### Installing the Control Plane\n\nRun the following command to install the latest stable release of Katib control plane:\n\n```\nkubectl apply -k \"github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=v0.17.0\"\n```\n\nRun the following command to install the latest changes of Katib control plane:\n\n```\nkubectl apply -k \"github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=master\"\n```\n\nFor the Katib Experiments check the [complete examples list](./examples/v1beta1).\n\n### Installing the Python SDK\n\nKatib implements [a Python SDK](https://pypi.org/project/kubeflow-katib/) to simplify creation of\nhyperparameter tuning jobs for Data Scientists.\n\nRun the following command to install the latest stable release of Katib SDK:\n\n```sh\npip install -U kubeflow-katib\n```\n\n## Getting Started\n\nPlease refer to [the getting started guide](https://www.kubeflow.org/docs/components/katib/getting-started/#getting-started-with-katib-python-sdk)\nto quickly create your first hyperparameter tuning Experiment using the Python SDK.\n\n## Community\n\nThe following links provide information on how to get involved in the community:\n\n- Attend [the bi-weekly AutoML and Training Working Group](https://bit.ly/2PWVCkV)\n  community meeting.\n- Join our [`#kubeflow-katib`](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels)\n  Slack channel.\n- Check out [who is using Katib](ADOPTERS.md) and [presentations about Katib project](docs/presentations.md).\n\n## Contributing\n\nPlease refer to the [CONTRIBUTING guide](CONTRIBUTING.md).\n\n## Citation\n\nIf you use Katib in a scientific publication, we would appreciate\ncitations to the following paper:\n\n[A Scalable and Cloud-Native Hyperparameter Tuning System](https://arxiv.org/abs/2006.02085), George _et al._, arXiv:2006.02085, 2020.\n\nBibtex entry:\n\n```\n@misc{george2020katib,\n    title={A Scalable and Cloud-Native Hyperparameter Tuning System},\n    author={Johnu George and Ce Gao and Richard Liu and Hou Gang Liu and Yuan Tang and Ramdoot Pydipaty and Amit Kumar Saha},\n    year={2020},\n    eprint={2006.02085},\n    archivePrefix={arXiv},\n    primaryClass={cs.DC}\n}\n```\n","funding_links":[],"categories":["Uncategorized","Neural Architecture Search","Ecosystem Projects","Profiling","AutoML","Scheduling","分布式机器学习","Libraries","Tools and projects","📋 Contents","Python","Hyperparameter Tuning"],"sub_categories":["Uncategorized","Profiling","LLM","🧬 1. Core Frameworks \u0026 Libraries"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubeflow%2Fkatib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubeflow%2Fkatib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubeflow%2Fkatib/lists"}