-
Notifications
You must be signed in to change notification settings - Fork 777
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Katib v1beta1 documentation update #2312
Katib v1beta1 documentation update #2312
Conversation
Hi @andreyvelich ! Thank you for this update! Replying by point:
You're asking if we want to keep a v1alpha3 version of the docs, now that we're updating Katib to v1beta1, correct?
WDYT?
LGTM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One other point was the name change from Katib to something else. If we plan to do that, should we already make changes accordingly?
Any decision on that front?
Thank you for the comment @RFMVasconcelos!
These docs will be effective after we merge: kubeflow/manifests#1593.
I think, it's a good idea. I will add v1alpha3 reference docs and add link to 1.1. Is there any way to get link for 1.1 docs? I found only 1.0 link: https://v1-0-branch.kubeflow.org/. |
I think we can stick with Katib name for Kubeflow 1.2. WDYT @gaocegege @johnugeorge ? |
Preview: https://deploy-preview-2312--competent-brattain-de2d6d.netlify.app/. I have updated doc with v1alpha3 reference. /cc @RFMVasconcelos @gaocegege @johnugeorge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great!
You are indeed writing to the right branch! What we need to do is create the v1.1 branch and update master to be v1.2.
Let me create an issue about it :)
Oh, it looks like there is one already -> #2322 |
Thanks @RFMVasconcelos. |
@RFMVasconcelos @8bitmp3 @gaocegege @johnugeorge I removed WIP status, since kubeflow/manifests#1593 is ready to merge. If you have any objections and comments on this PR, please let me know. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreyvelich Thanks for the PR!
I've added a few suggestions and comments. Feel free to disregard them 👍
Maybe in the Katib explanation in /components/katib/overview.md
we could also add a small link for all the new ML users about AutoML (e.g. https://www.fast.ai/2018/07/16/auto-ml2/) and/or Microsoft Azure, Google Cloud and AWS AutoML solution docs?
Thank you for your help!
Update: also maybe we should move the "about" section up in overview.md
such that:
Katib is a Kubernetes-native project for automated machine learning (AutoML) —
it's a system for hyperparameter tuning and neural architecture search.
Katib supports a number of machine learning frameworks, including
TensorFlow, MXNet, PyTorch, XGBoost, and others.
The [Katib project](https://github.com/kubeflow/katib) is open source.
The [developer guide](https://github.com/kubeflow/katib/blob/master/docs/developer-guide.md)
is a good starting point for developers who want to contribute to the project.
This page describes information about | ||
[Katib config](https://github.com/kubeflow/katib/blob/master/manifests/v1beta1/katib-controller/katib-config.yaml). | ||
|
||
Katib config is the Kubernetes | ||
[Config Map](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) that contains information about: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR @andreyvelich
Hi, what do you think of this suggestion?
- "refactor" to 'This page describes Katib config — the Kubernetes Config Map that contains information about:'
This page describes information about | |
[Katib config](https://github.com/kubeflow/katib/blob/master/manifests/v1beta1/katib-controller/katib-config.yaml). | |
Katib config is the Kubernetes | |
[Config Map](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) that contains information about: | |
This page describes | |
[Katib config](https://github.com/kubeflow/katib/blob/master/manifests/v1beta1/katib-controller/katib-config.yaml) — | |
the Kubernetes | |
[Config Map](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) that contains information about: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, changed.
|
||
You can edit this Config Map even after deploying Katib. | ||
|
||
If you deploy Katib in Kubeflow namespace, to edit Katib config run this: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe just change the order here, use a different (present continuous) tense, and "the" (the definite article) (I checked with the K8s guide, as I'm not 100% sure about these):
If you deploy Katib in Kubeflow namespace, to edit Katib config run this: | |
If you are deploying Katib in the Kubeflow namespace, run this command to edit your Katib config: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, changed.
|
||
`kubectl edit configMap katib-config -n kubeflow` | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion - use code style/code font/code block/codefence (K8s style guide, Google style guide:
`kubectl edit configMap katib-config -n kubeflow` | |
```shell | |
kubectl edit configMap katib-config -n kubeflow | |
``` |
(without the tabs that indent the code block - they render differently if I remove them)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@8bitmp3 Should we use ```shell
everywhere?
e.g. https://github.com/kubeflow/website/blame/master/content/en/docs/components/hyperparameter-tuning/hyperparameter.md#L144 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@8bitmp3 I've just seen you comment: https://github.com/kubeflow/website/pull/2320/files#r516300401 about it.
Will do the change in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in fe91e74.
|
||
All of these settings except **`image`** can be omitted. If you don't specify any other settings, default value is set. | ||
|
||
1. `image` - Docker image for the `File` metrics collector's container. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. `image` - Docker image for the `File` metrics collector's container. | |
1. `image` - a Docker image for the `File` metrics collector's container. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, changed.
@8bitmp3 I made all list items with not capital letter to be consistent (e.g. https://github.com/kubeflow/website/blame/62aba5ce7a065eb2b60d6b7884f4ab075be33fcc/content/en/docs/components/katib/katib-config.md#L66)
WDYT ?
Katib is Kubernetes-native project for automated machine learning (AutoML). | ||
Use Katib for automated tuning of your machine learning (ML) model's hyperparameters and architecture. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestions:
I think lines 87-95 about "the Katib project" should be right in the beginning of overview.md
:
Katib is Kubernetes-native project for automated machine learning (AutoML). | |
Use Katib for automated tuning of your machine learning (ML) model's hyperparameters and architecture. | |
Katib is a Kubernetes-native project for automated machine learning (AutoML) — | |
it's a system for hyperparameter tuning and neural architecture search. | |
Katib supports a number of machine learning frameworks, including | |
TensorFlow, MXNet, PyTorch, XGBoost, and others. | |
The [Katib project](https://github.com/kubeflow/katib) is open source. | |
The [developer guide](https://github.com/kubeflow/katib/blob/master/docs/developer-guide.md) | |
is a good starting point for developers who want to contribute to the project. |
Thank you for the another review @8bitmp3 ! |
@andreyvelich Thanks. If you're OK with the suggestions/own changes, feel free to get the LGTM and approve labels from the AutoML/Katib experts (which I am not 😄) /assign @animeshsingh @Bobgy @joeliedtke |
@8bitmp3 Thank you again for the help on this PR! |
@@ -1,13 +1,13 @@ | |||
+++ | |||
title = "Trial Template Overview" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
title = "Trial Template Overview" | |
title = "Overview of trial template parameters in Katib" |
(Sentence case, unless it's a product name, I think)
@@ -1,13 +1,13 @@ | |||
+++ | |||
title = "Trial Template Overview" | |||
description = "How to specify trial template parameters and support custom CRD in Katib" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
description = "How to specify trial template parameters and support custom CRD in Katib" | |
description = "How to specify trial template parameters and support a custom resource (CRD) in Katib" |
(I had to look up CRD on the K8s docs - correct me if I'm wrong. Just wanted to help some new users)
in Katib. Follow this page to know more about changing trial template specification, | ||
how to use [Kubernetes ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/) | ||
to store templates and how to modify Katib controller to support your | ||
Kubernetes CRD in Katib experiments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in Katib. Follow this page to know more about changing trial template specification, | |
how to use [Kubernetes ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/) | |
to store templates and how to modify Katib controller to support your | |
Kubernetes CRD in Katib experiments. | |
in Katib. You will learn about changing trial template specification, | |
how to use [Kubernetes ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/) | |
to store templates and how to modify Katib controller to support your | |
Kubernetes CRD in Katib experiments. |
@@ -232,12 +235,12 @@ to know more about it. | |||
It is possible to use your own Kubernetes CRD or other Kubernetes resource | |||
(e.g. [Kubernetes `Deployment`](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)) | |||
as a trial worker without modifying Katib controller source code and building | |||
the new image. As long as your CRD creates Kubernetes pods, allows to inject | |||
the new image. As long as your CRD creates Kubernetes Pods, allows to inject |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it Pods or pods in K8s? I thought it's "pods" 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's called Kubernetes Pods
. 😄
Ref: https://kubernetes.io/docs/concepts/workloads/pods/#using-pods.
the [sidecar container](https://kubernetes.io/docs/concepts/workloads/pods/) on | ||
these pods and has succeeded and failed status, you can use it in Katib. | ||
these Pods and has succeeded and failed status, you can use it in Katib. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these Pods and has succeeded and failed status, you can use it in Katib. | |
these Pods and has succeeded and failed status, you can use it in Katib. |
is it Pods or pods in K8s? I thought it's "pods" 😄
@@ -247,11 +250,11 @@ Follow these two simple steps to integrate your custom CRD in Katib: | |||
|
|||
1. Modify Katib controller | |||
[ClusterRole's rules](https://github.com/kubeflow/katib/blob/master/manifests/v1beta1/katib-controller/rbac.yaml#L5) | |||
with the new rule to get access for all resources that are created | |||
with the new rule to give Katib access for the all resources that are created |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correction:
with the new rule to give Katib access for the all resources that are created | |
with the new rule to give Katib access to all resources that are created |
@@ -247,11 +250,11 @@ Follow these two simple steps to integrate your custom CRD in Katib: | |||
|
|||
1. Modify Katib controller | |||
[ClusterRole's rules](https://github.com/kubeflow/katib/blob/master/manifests/v1beta1/katib-controller/rbac.yaml#L5) | |||
with the new rule to get access for all resources that are created | |||
with the new rule to give Katib access for the all resources that are created | |||
by trial. To know more about ClusterRole, check |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"by the trial"?
@@ -293,7 +296,7 @@ Expected output for the Tekton `Pipeline`: | |||
``` | |||
|
|||
If the above steps are successful, you are able to use your custom object YAML |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the above steps are successful, you are able to use your custom object YAML | |
If you ran the above steps successfully, you should be able to use your custom object YAML |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreyvelich Just took a last look at katib/trial-template.md
. We can revise more stuff in another PR, if necessary. Let's try to get a LGTM and /approve
soon. Thanks for the patience
Sure @8bitmp3. @gaocegege @johnugeorge Can you give your |
I think we need to get |
@andreyvelich |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andreyvelich, Bobgy The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
Thank you @andreyvelich for this big push! It's merged 🚀 |
Related: kubeflow/katib#1360.
Blocked by: kubeflow/manifests#1593.
I updated docs for Katib v1beta1. I made few changes:
hyperparameter-tuning
section tokatib
to make it clearer, since we are building AutoML project. What do you think about it @8bitmp3 @RFMVasconcelos ?I am still waiting for the pending PRs (I need to update docker images and few UI images., but it would be great if you can start to review it!
/assign @gaocegege @johnugeorge
/cc @8bitmp3 @RFMVasconcelos