mirror of
https://github.com/hanzo-ml/katib.git
synced 2026-09-24 00:31:27 +00:00
* 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
213 lines
6.1 KiB
Go
213 lines
6.1 KiB
Go
//go:build !ignore_autogenerated
|
|
// +build !ignore_autogenerated
|
|
|
|
/*
|
|
Copyright 2022 The Kubeflow Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
|
|
|
package v1beta1
|
|
|
|
import (
|
|
commonv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/common/v1beta1"
|
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
|
)
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *Suggestion) DeepCopyInto(out *Suggestion) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
|
in.Status.DeepCopyInto(&out.Status)
|
|
return
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Suggestion.
|
|
func (in *Suggestion) DeepCopy() *Suggestion {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(Suggestion)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *Suggestion) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SuggestionCondition) DeepCopyInto(out *SuggestionCondition) {
|
|
*out = *in
|
|
in.LastUpdateTime.DeepCopyInto(&out.LastUpdateTime)
|
|
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
|
|
return
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuggestionCondition.
|
|
func (in *SuggestionCondition) DeepCopy() *SuggestionCondition {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SuggestionCondition)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SuggestionList) DeepCopyInto(out *SuggestionList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]Suggestion, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuggestionList.
|
|
func (in *SuggestionList) DeepCopy() *SuggestionList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SuggestionList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *SuggestionList) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SuggestionSpec) DeepCopyInto(out *SuggestionSpec) {
|
|
*out = *in
|
|
if in.Algorithm != nil {
|
|
in, out := &in.Algorithm, &out.Algorithm
|
|
*out = new(commonv1beta1.AlgorithmSpec)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.EarlyStopping != nil {
|
|
in, out := &in.EarlyStopping, &out.EarlyStopping
|
|
*out = new(commonv1beta1.EarlyStoppingSpec)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
return
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuggestionSpec.
|
|
func (in *SuggestionSpec) DeepCopy() *SuggestionSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SuggestionSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SuggestionStatus) DeepCopyInto(out *SuggestionStatus) {
|
|
*out = *in
|
|
if in.AlgorithmSettings != nil {
|
|
in, out := &in.AlgorithmSettings, &out.AlgorithmSettings
|
|
*out = make([]commonv1beta1.AlgorithmSetting, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.Suggestions != nil {
|
|
in, out := &in.Suggestions, &out.Suggestions
|
|
*out = make([]TrialAssignment, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.StartTime != nil {
|
|
in, out := &in.StartTime, &out.StartTime
|
|
*out = (*in).DeepCopy()
|
|
}
|
|
if in.CompletionTime != nil {
|
|
in, out := &in.CompletionTime, &out.CompletionTime
|
|
*out = (*in).DeepCopy()
|
|
}
|
|
if in.LastReconcileTime != nil {
|
|
in, out := &in.LastReconcileTime, &out.LastReconcileTime
|
|
*out = (*in).DeepCopy()
|
|
}
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]SuggestionCondition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuggestionStatus.
|
|
func (in *SuggestionStatus) DeepCopy() *SuggestionStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SuggestionStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TrialAssignment) DeepCopyInto(out *TrialAssignment) {
|
|
*out = *in
|
|
if in.ParameterAssignments != nil {
|
|
in, out := &in.ParameterAssignments, &out.ParameterAssignments
|
|
*out = make([]commonv1beta1.ParameterAssignment, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.EarlyStoppingRules != nil {
|
|
in, out := &in.EarlyStoppingRules, &out.EarlyStoppingRules
|
|
*out = make([]commonv1beta1.EarlyStoppingRule, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.Labels != nil {
|
|
in, out := &in.Labels, &out.Labels
|
|
*out = make(map[string]string, len(*in))
|
|
for key, val := range *in {
|
|
(*out)[key] = val
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrialAssignment.
|
|
func (in *TrialAssignment) DeepCopy() *TrialAssignment {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TrialAssignment)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|