Skip to content

Commit 719ae38

Browse files
authored
Update README and out-of-date docs (#2438)
Signed-off-by: Andrey Velichkevich <[email protected]>
1 parent 867c40a commit 719ae38

File tree

19 files changed

+132
-388
lines changed

19 files changed

+132
-388
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!-- Thanks for sending a pull request! Here are some tips for you:
22
1. If this is your first time, check our contributor guidelines https://www.kubeflow.org/docs/about/contributing
3-
2. To know more about Katib components, check developer guide https://github.com/kubeflow/katib/blob/master/docs/developer-guide.md
3+
2. To know more about Katib components, check developer guide https://github.com/kubeflow/katib/blob/master/CONTRIBUTING.md
44
3. If you want *faster* PR reviews, check how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
55
-->
66

docs/developer-guide.md renamed to CONTRIBUTING.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22

33
This developer guide is for people who want to contribute to the Katib project.
44
If you're interesting in using Katib in your machine learning project,
5-
see the following user guides:
5+
see the following guides:
66

7-
- [Concepts](https://www.kubeflow.org/docs/components/katib/overview/)
8-
in Katib, hyperparameter tuning, and neural architecture search.
97
- [Getting started with Katib](https://kubeflow.org/docs/components/katib/hyperparameter/).
10-
- Detailed guide to [configuring and running a Katib
11-
experiment](https://kubeflow.org/docs/components/katib/experiment/).
8+
- [How to configure Katib Experiment](https://kubeflow.org/docs/components/katib/experiment/).
9+
- [Katib architecture and concepts](https://www.kubeflow.org/docs/components/katib/reference/architecture/)
10+
for hyperparameter tuning and neural architecture search.
1211

1312
## Requirements
1413

@@ -93,10 +92,6 @@ Below is a list of command-line flags accepted by Katib DB Manager:
9392
| --------------- | ------------- | ------- | ------------------------------------------------------- |
9493
| connect-timeout | time.Duration | 60s | Timeout before calling error during database connection |
9594

96-
## Workflow design
97-
98-
Please see [workflow-design.md](./workflow-design.md).
99-
10095
## Katib admission webhooks
10196

10297
Katib uses three [Kubernetes admission webhooks](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/).
@@ -113,7 +108,7 @@ Katib uses three [Kubernetes admission webhooks](https://kubernetes.io/docs/refe
113108
1. `mutator.pod.katib.kubeflow.org` - Mutating admission webhook to inject the metrics
114109
collector sidecar container to the training pod. Learn more about the Katib's
115110
metrics collector in the
116-
[Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/experiment/#metrics-collector).
111+
[Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/user-guides/metrics-collector/).
117112

118113
You can find the YAMLs for the Katib webhooks
119114
[here](../manifests/v1beta1/components/webhook/webhooks.yaml).
@@ -168,4 +163,4 @@ they'll be executed against every file in the repository.
168163

169164
Specific programmatically generated files listed in the `exclude` field in
170165
[.pre-commit-config.yaml](../.pre-commit-config.yaml) are deliberately excluded
171-
from the hooks.
166+
from the hooks.

README.md

Lines changed: 32 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ and many more.
2929

3030
Katib stands for `secretary` in Arabic.
3131

32-
# Search Algorithms
32+
## Search Algorithms
3333

3434
Katib supports several search algorithms. Follow the
35-
[Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/experiment/#search-algorithms-in-detail)
35+
[Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/user-guides/hp-tuning/configure-algorithm/#hp-tuning-algorithms)
3636
to know more about each algorithm and check the
37-
[Suggestion service guide](/docs/new-algorithm-service.md) to implement your
38-
custom algorithm.
37+
[this guide](https://www.kubeflow.org/docs/components/katib/user-guides/hp-tuning/configure-algorithm/#use-custom-algorithm-in-katib)
38+
to implement your custom algorithm.
3939

4040
<table>
4141
<tbody>
@@ -137,141 +137,68 @@ custom algorithm.
137137
</tbody>
138138
</table>
139139

140-
To perform above algorithms Katib supports the following frameworks:
140+
To perform the above algorithms Katib supports the following frameworks:
141141

142142
- [Goptuna](https://github.com/c-bata/goptuna)
143143
- [Hyperopt](https://github.com/hyperopt/hyperopt)
144144
- [Optuna](https://github.com/optuna/optuna)
145145
- [Scikit Optimize](https://github.com/scikit-optimize/scikit-optimize)
146146

147-
# Installation
148-
149-
For the various Katib installs check the
150-
[Kubeflow guide](https://www.kubeflow.org/docs/components/katib/hyperparameter/#katib-setup).
151-
Follow the next steps to install Katib standalone.
152-
153147
## Prerequisites
154148

155-
This is the minimal requirements to install Katib:
156-
157-
- Kubernetes >= 1.27
158-
- `kubectl` >= 1.27
149+
Please check [the official Kubeflow documentation](https://www.kubeflow.org/docs/components/katib/installation/#prerequisites)
150+
for prerequisites to install Katib.
159151

160-
## Latest Version
152+
## Installation
161153

162-
For the latest Katib version run this command:
163-
164-
```
165-
kubectl apply -k "github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=master"
166-
```
154+
Please follow [the Kubeflow Katib guide](https://www.kubeflow.org/docs/components/katib/installation/#installing-katib)
155+
for the detailed instructions on how to install Katib.
167156

168-
## Release Version
157+
### Installing the Control Plane
169158

170-
For the specific Katib release (for example `v0.14.0`) run this command:
159+
Run the following command to install the latest stable release of Katib control plane:
171160

172161
```
173-
kubectl apply -k "github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=v0.14.0"
162+
kubectl apply -k "github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=v0.17.0"
174163
```
175164

176-
Make sure that all Katib components are running:
165+
Run the following command to install the latest changes of Katib control plane:
177166

178167
```
179-
$ kubectl get pods -n kubeflow
180-
181-
NAME READY STATUS RESTARTS AGE
182-
katib-controller-566595bdd8-hbxgf 1/1 Running 0 36s
183-
katib-db-manager-57cd769cdb-4g99m 1/1 Running 0 36s
184-
katib-mysql-7894994f88-5d4s5 1/1 Running 0 36s
185-
katib-ui-5767cfccdc-pwg2x 1/1 Running 0 36s
168+
kubectl apply -k "github.com/kubeflow/katib.git/manifests/v1beta1/installs/katib-standalone?ref=master"
186169
```
187170

188171
For the Katib Experiments check the [complete examples list](./examples/v1beta1).
189172

190-
# Quickstart
173+
### Installing the Python SDK
191174

192-
You can run your first HyperParameter Tuning Experiment using [Katib Python SDK](./sdk/python/v1beta1).
175+
Katib implements [a Python SDK](https://pypi.org/project/kubeflow-katib/) to simplify creation of
176+
hyperparameter tuning jobs for Data Scientists.
193177

194-
In the following example we are going to maximize a simple objective function:
195-
$F(a,b) = 4a - b^2$. The bigger $a$ and the lesser $b$ value, the bigger the function value $F$.
178+
Run the following command to install the latest stable release of Katib SDK:
196179

197-
```python
198-
import kubeflow.katib as katib
199-
200-
# Step 1. Create an objective function.
201-
def objective(parameters):
202-
# Import required packages.
203-
import time
204-
time.sleep(5)
205-
# Calculate objective function.
206-
result = 4 * int(parameters["a"]) - float(parameters["b"]) ** 2
207-
# Katib parses metrics in this format: <metric-name>=<metric-value>.
208-
print(f"result={result}")
209-
210-
# Step 2. Create HyperParameter search space.
211-
parameters = {
212-
"a": katib.search.int(min=10, max=20),
213-
"b": katib.search.double(min=0.1, max=0.2)
214-
}
215-
216-
# Step 3. Create Katib Experiment.
217-
katib_client = katib.KatibClient()
218-
name = "tune-experiment"
219-
katib_client.tune(
220-
name=name,
221-
objective=objective,
222-
parameters=parameters,
223-
objective_metric_name="result",
224-
max_trial_count=12
225-
)
226-
227-
# Step 4. Get the best HyperParameters.
228-
print(katib_client.get_optimal_hyperparameters(name))
180+
```sh
181+
pip install -U kubeflow-katib
229182
```
230183

231-
# Documentation
232-
233-
- Check
234-
[the Katib getting started guide](https://www.kubeflow.org/docs/components/katib/hyperparameter/#example-using-random-search-algorithm).
235-
236-
- Learn about Katib **Concepts** in this
237-
[guide](https://www.kubeflow.org/docs/components/katib/overview/#katib-concepts).
238-
239-
- Learn about Katib **Interfaces** in this
240-
[guide](https://www.kubeflow.org/docs/components/katib/overview/#katib-interfaces).
241-
242-
- Learn about Katib **Components** in this
243-
[guide](https://www.kubeflow.org/docs/components/katib/hyperparameter/#katib-components).
244-
245-
- Know more about Katib in the [presentations and demos list](./docs/presentations.md).
184+
## Getting Started
246185

247-
# Community
186+
Please refer to [the getting started guide](https://www.kubeflow.org/docs/components/katib/getting-started/#getting-started-with-katib-python-sdk)
187+
to quickly create your first hyperparameter tuning Experiment using the Python SDK.
248188

249-
We are always growing our community and invite new users and AutoML enthusiasts
250-
to contribute to the Katib project. The following links provide information
251-
about getting involved in the community:
189+
## Community
252190

253-
- Subscribe to the
254-
[AutoML calendar](https://calendar.google.com/calendar/u/0/r?cid=ZDQ5bnNpZWZzbmZna2Y5MW8wdThoMmpoazRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ)
255-
to attend Working Group bi-weekly community meetings.
191+
The following links provide information on how to get involved in the community:
256192

257-
- Check the
258-
[AutoML and Training Working Group meeting notes](https://docs.google.com/document/d/1MChKfzrKAeFRtYqypFbMXL6ZIc_OgijjkvbqmwRV-64/edit).
259-
260-
- If you use Katib, please update [the adopters list](ADOPTERS.md).
193+
- Attend [the bi-weekly AutoML and Training Working Group](https://bit.ly/2PWVCkV)
194+
community meeting.
195+
- Join our [`#kubeflow-katib`](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels)
196+
Slack channel.
197+
- Check out [who is using Katib](ADOPTERS.md) and [presentations about Katib project](docs/presentations.md).
261198

262199
## Contributing
263200

264-
Please feel free to test the system! [Developer guide](./docs/developer-guide.md)
265-
is a good starting point for our developers.
266-
267-
## Blog posts
268-
269-
- [Kubeflow Katib: Scalable, Portable and Cloud Native System for AutoML](https://blog.kubeflow.org/katib/)
270-
(by Andrey Velichkevich)
271-
272-
## Events
273-
274-
- [AutoML and Training WG Summit. 16th of July 2021](https://docs.google.com/document/d/1vGluSPHmAqEr8k9Dmm82RcQ-MVnqbYYSfnjMGB-aPuo/edit?usp=sharing)
201+
Please refer to the [CONTRIBUTING guide](CONTRIBUTING.md).
275202

276203
## Citation
277204

docs/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Katib Documentation
2+
3+
Welcome to Kubeflow Katib!
4+
5+
The Katib documentation is available on [kubeflow.org](https://www.kubeflow.org/docs/components/katib/).

docs/images-location.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Here you can find the location for images that are used in Katib.
55
## Katib Components Images
66

77
The following table shows images for the
8-
[Katib components](https://www.kubeflow.org/docs/components/katib/hyperparameter/#katib-components).
8+
[Katib components](https://www.kubeflow.org/docs/components/katib/reference/architecture/#katib-control-plane-components).
99

1010
<table>
1111
<tbody>
@@ -70,7 +70,7 @@ The following table shows images for the
7070
## Katib Metrics Collectors Images
7171

7272
The following table shows images for the
73-
[Katib Metrics Collectors](https://www.kubeflow.org/docs/components/katib/experiment/#metrics-collector).
73+
[Katib Metrics Collectors](https://www.kubeflow.org/docs/components/katib/user-guides/metrics-collector/).
7474

7575
<table>
7676
<tbody>
@@ -113,8 +113,8 @@ The following table shows images for the
113113
## Katib Suggestions and Early Stopping Images
114114

115115
The following table shows images for the
116-
[Katib Suggestions](https://www.kubeflow.org/docs/components/katib/experiment/#search-algorithms-in-detail)
117-
and the [Katib Early Stopping algorithms](https://www.kubeflow.org/docs/components/katib/early-stopping/).
116+
[Katib Suggestion services](https://www.kubeflow.org/docs/components/katib/reference/architecture/#suggestion)
117+
and the [Katib Early Stopping algorithms](https://www.kubeflow.org/docs/components/katib/user-guides/early-stopping/#early-stopping-algorithms).
118118

119119
<table>
120120
<tbody>
@@ -223,7 +223,7 @@ and the [Katib Early Stopping algorithms](https://www.kubeflow.org/docs/componen
223223
## Training Containers Images
224224

225225
The following table shows images for training containers which are used in the
226-
[Katib Trials](https://www.kubeflow.org/docs/components/katib/experiment/#packaging-your-training-code-in-a-container-image).
226+
[Katib Trials](https://www.kubeflow.org/docs/components/katib/reference/architecture/#trial).
227227

228228
<table>
229229
<tbody>

docs/images/SystemFlow.png

-102 KB
Binary file not shown.

0 commit comments

Comments
 (0)