17 Commits
Author SHA1 Message Date
Shashank MittalandGitHub 484f7bf253 [GSoC] Added DistributionType to Experiment API (#2377)
Signed-off-by: Shashank Mittal <[email protected]>

modified feasibleSpace

Removed Categorical from Distribution
2024-07-31 04:37:05 +00:00
Andrey VelichkevichandGitHub 9fd7af4b05 Use Never Resume Policy as Default (#2102) 2023-01-25 14:11:53 +00:00
a9pandGitHub 3fd8502567 Population based training (#1833)
* docs: update new algorithm service details

* feat: trial augmentation strategy

* feat: pbt suggestion service

* feat: PbtTemplate and associated test image

* feat: introduce annotation field to trial specifications

* feat: trial assignment changes to support annotations from suggestion

- Add new Annotation types to suggestion_types.go
- Add Annotation object and update Trial parser in trial.py

* feat: update pbt suggestion to use new Annotation api

- Suggestion uses exact match to track spawned trials
- Trials that get transmitted, but not created (or added to experiment) are added back to the respawn pool (population_size consistency)

* chore: gofmt and black run across PBT changes

* feedback: remove tf summary export, change default print unit, reduce range to be percentage compatible.

* feedback: move PBT template to example.

* feedback: changes to inject_webhook and utils.

- Rename mutateVolume to mutateMetricsCollectorVolume
- Add addContainerVolumeMount
- Add getPrimaryContainerIndex

* feedback: change suggestion mutation mount variable name and add to consts

* feedback: Add trial_names to GetSuggestionsReply and change suggestion path to <experiment>/<trial>

* feedback: removed unnecessary checks and moved to async pbt implementation

* feedback: update trial name override location and change annotations override to labels.

* feedback: add pbt to github workflow

* feedback: move labels to ParameterAssignments in GetSuggestionsReply and cleanup pbt.yaml.

* feedback: remove operator changes

* feedback: GHA updates

* feedback: new formatting changes

* feedback: add suggestion-pbt to gh-actions build-load.sh.

* fix: missing pbt->simple-pbt name changes, add simple-pbt to update-images.sh update yaml function (causing failing gha).

* feedback: add pointer to website from main readme for pbt
2022-06-21 15:35:34 +00:00
Yuki IwaiandGitHub 0f970a74b9 Include MetricsUnavailable condition to Complete in Trial (#1877)
* include MetricsUnavailable condition to Complete in Trial

It is not easy for users to find why Trial failed when training code output incorrect format logs
since the trial-controller sets Succeeded condition with False to Trial if there are unavailable metrics in Katib DB as described in https://github.com/kubeflow/katib/issues/1343.
So we also include MetricsUnavailable condition to Complete in Trial.

* add gh-actions tasks to verify generated codes

* fix gh-actions workflow

* when the number of Failed Trials reaches maxTrialCount, experiment-controller sets Failed to Experiment status

* fix e2e test

* To avoid being set Failed in Experiment status when  and  is equal to 0, we need to add condition,
2022-06-08 04:22:15 +00:00
4ddca17120 Support JSON format logs in file-metrics-collector (#1765)
* support JSON format logs in file-metrics-collector

* review: convert fileFormat to type FileSystemFileFormat

* Update cmd/metricscollector/v1beta1/file-metricscollector/main.go

Co-authored-by: Andrey Velichkevich <[email protected]>

* review: remove func (f FileSystemFileFormat) String()

* review: get metricRegList only when the format is TEXT

* review: change var name in a script for e2e

* review: explict specify the cloudml-hypyertune in the Dockerfile

* review: use reflect.DeepEqual instead of go-cmp.Diff

* review: stop using 'JSON' directly in error statements

* review: install specific version cloudml-hypertune

* review: get objType in the updateStopRules function

* review: save optimalObjValue across multiple stopRules

* review: add warning messages to parseTimestamp func

* review: generate test files with go test command

* review: change api for new feature

Co-authored-by: Andrey Velichkevich <[email protected]>
2022-04-05 15:20:36 +00:00
e09ea1f155 SDK: change list apis to return objects as default (#1630)
* SDK: change list apis to return objects as default

- change list_trials, list_experiments to return list of objects as
 a default
- also, give 'in_short' parameter for who wants only name and status
 as before

* [enh]: change return type from List[dict] to List[V1beta1Experiment]

* [enh]: deserialize dict to katib's custom class

* [docs]: refactor KatibClient docs

* change deserialize method location to utils

* remove useless import

* Add objects necessary to deserilization in swagger

* use fakeresponse rather than duplicating codes

* Update sdk/python/v1beta1/kubeflow/katib/utils/utils.py

Co-authored-by: Andrey Velichkevich <[email protected]>

* Update sdk/python/v1beta1/kubeflow/katib/utils/utils.py

Co-authored-by: Andrey Velichkevich <[email protected]>

Co-authored-by: Andrey Velichkevich <[email protected]>
2021-08-30 22:42:03 -07:00
Andrey VelichkevichandGitHub 50595f5bb5 Add missing omitempty parameter to APIs (#1645) 2021-08-27 07:33:06 -07:00
Andrey VelichkevichandGitHub a59cd47f1d Update Katib SDK with OpenAPI generator (#1572)
* Use openapi JAR

* Remove test from SDK

* Use k8s>=12.0 version
2021-07-29 08:35:19 -07:00
Andrey VelichkevichandGitHub 9103192fc2 Update documentation for SDK Katib Client (#1482) 2021-03-18 18:40:16 -07:00
3a85423198 Disable dynamic creation for admission hooks and update dependencies (#1450)
* Update all dependencies to the latest versions
Add cert generator for the webhooks
Add manifests for the webhooks

* Modify Dockerfile for manager

* Remove comments

* Update Dockerfiles for Go images

* Add signerName: kubernetes.io/kube-apiserver-client to csr
Update roles for controller RBAC
Changes after review

* Fix not installed CRD error

* Update scripts

* Revert operator changes

* Describe controller pod in test

* Add log line to test

* Move kubectl version

* Change csr version to v1beta1

* Remove log

* Change signerName to kubernetes.io/kubelet-serving

* Modify common name

Co-authored-by: Yuki Iwai <[email protected]>

* Add env variable to init container

Co-authored-by: Yuki Iwai <[email protected]>

* Get namespace from env

Co-authored-by: Yuki Iwai <[email protected]>

* Remove quotes

* Remove spaces

* Run cert generator script from the Job

* Modify new ui Dockerfile

* Disable Actions on PR

* Modify setup Katib script

* Fix PODNUM

* Remove imagePullPolicy from PyTorch and TFJob examples

* Disable Pytorch examples in e2e

* Add sleep to e2e test

* Activate Actions

* Disable actions

Co-authored-by: Yuki Iwai <[email protected]>
2021-03-06 09:29:49 -08:00
Andrey VelichkevichandGitHub 2e226de7e5 Remove v1alpha3 version (#1396)
* Remove v1alpha3 files

* Modify SDK

* Change dict() to object
2020-11-30 06:48:50 -08:00
Andrey VelichkevichandGitHub 0c11c06eeb Early Stopping Implementation (#1344)
* Init commit

* Experiment API changes

* Add APIs

* Remove old es apis

* Remove logging

* Add Early Stopping implementation

* Show metrics for early stopped trials

* Clean const

* Remove pid file with completed line from metrics collector

* Add unit test

* Add EarlyStopping as unique service

* Add early stopped Trials to completed

* Fix few comments

* Generate clients and SDK

* Fix tests

* Fix goptuna test

* Remove cluster role from test

* Update observation for early stopped Trials

* Fix pv name in e2e test

* Add Katib config for Early Stopping

* Fix comment

* Remove unused gRPC Experiment spec

* Remove legacy test files

* Remove labels and conditions from example

* Modify API to be consistent with Algorithm

* Ignore no such file error

* Add comments to proto

* Add median stop implementation

* Fix few comments

* Fix unit tests

* Add o-type flag to tfevent metrics collector

* Fix es unit test

* Fix hyperband suggestion
2020-10-29 19:56:05 -07:00
Andrey VelichkevichandGitHub 2992c5706f Upload python SDK version (#1335)
* Upload 0.0.4 SDK version

* Fix doc links

* Fix links in README

* Modify tables

* Fix link

* Remove

* Modify client and gen script

* Update version to 0.0.5

* Run CI

* Add Katib client to init
2020-09-15 02:42:07 -07:00
Andrey VelichkevichandGitHub 9816f576b8 Custom CRD: Support dynamic Trial's jobs conditions (#1307)
* Custom Job conditions implementation

* Fix prints

* Fix status

* Fix test

* Clean event msg

* Run gofmt

* Fix few comments

* Generate clients

* Fix comment

* Add newline
2020-09-08 14:45:52 -07:00
Andrey VelichkevichandGitHub 5a952860e7 Custom CRD: Add primary container name (#1308)
* Add primary container name

* Resolve

* Generate clients

* Add newline
2020-09-08 12:01:52 -07:00
Andrey VelichkevichandGitHub 3c6b64bf43 Custom CRD: Add primary pod labels (#1305)
* Add primary pod labels

* Generate swagger

* Generate SDK

* Trigger CI
2020-09-02 19:41:40 -07:00
Xu XiaoandGitHub 6c07d26b78 [python sdk] add v1beta1 models (#1252)
* [python sdk] add v1beta1 models

* upgrade version of python SDK to 0.0.3

* remove v1Alpha3 python sdk

* add some python models manually: v1Time and V1UnstructuredUnstructured

* bring back v1alpha3

* create separate python sdk for v1alpha3 and v1beta1

* move on

* release pkg on pypi.org

* remove dist files

* refine
2020-08-18 03:11:32 -07:00