Skip to content
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

Help Wanted: Example code for StudyJob #403

Closed
opus111 opened this issue Feb 21, 2019 · 5 comments
Closed

Help Wanted: Example code for StudyJob #403

opus111 opened this issue Feb 21, 2019 · 5 comments

Comments

@opus111
Copy link

opus111 commented Feb 21, 2019

This is not a bug, but perhaps missing documentation

I want to use do basic HyperParameter optimization with Katib. I did the tutorials, and read all the docs. Unfortunately, the tutorials just load existing Docker images. They do not explain how to implement your own StudyJob.

I could not find any example code that explains how a StudyJob interacts with Katib. How does it get its parameters? How does it report its results? What is the contract? I guess you would call this the StudyJob API

Any pointers to code or docs would be appreciated

Thank you
Peter

@johnugeorge
Copy link
Member

Please follow the doc at https://www.kubeflow.org/docs/components/hyperparameter/

@johnugeorge
Copy link
Member

One sample example that is using random algorithm: https://github.com/kubeflow/katib/blob/master/examples/random-example.yaml

@opus111
Copy link
Author

opus111 commented Feb 22, 2019

Thank you Johnu. Yes, those are the documents I read, and the instructions I followed.

Perhaps I am missing it, but nowhere in those docs are instructions for how to write your own StudyJob. They show how to install Katib, and then run several pre-built examples. It does not have any links to the code that created those examples, or documentation on how the code works.

There must be the equivalent of a StudyJob API which the Containers implement. Where do I find that?

@opus111
Copy link
Author

opus111 commented Feb 22, 2019

OK. I found this...

https://github.com/kubeflow/katib/blob/master/docs/developer-guide.md

In which is says this...

Implement new suggestion algorithm
Suggestion API is defined as GRPC service at API/api.proto. You can attach new algorithm easily.

implement suggestion API

make k8s service named vizier-suggestion-{ algorithm-name } and expose port 6789
And to add new suggestion service, you don't need to stop components ( vizier-core, modeldb, and 
 anything) that are already running.

Unfortunately, there is no API/api.proto in the repository.

@YujiOshima
Copy link
Contributor

@opus111 The api.proto is this
Thank you for pointing it. We should fix API/api.proto to pkg/api/api.proto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants