* 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
* 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,
* 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]>
* 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]>
* 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]>
* 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
* 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
* [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