4
4
from kubeflow .katib import ApiClient
5
5
from kubeflow .katib import KatibClient
6
6
from kubeflow .katib import models
7
- from kubeflow .katib import search
8
7
from kubeflow .katib .constants import constants
9
8
from kubeflow .katib .utils .utils import FakeResponse
10
9
from kubernetes import client
@@ -74,50 +73,6 @@ def run_e2e_experiment(
74
73
logging .debug (katib_client .get_suggestion (exp_name , exp_namespace ))
75
74
76
75
77
- def run_e2e_experiment_create_by_tune (
78
- katib_client : KatibClient ,
79
- exp_name : str ,
80
- exp_namespace : str ,
81
- ):
82
- # Create Katib Experiment and wait until it is finished.
83
- logging .debug ("Creating Experiment: {}/{}" .format (exp_namespace , exp_name ))
84
-
85
- # Use the test case from get-started tutorial.
86
- # https://www.kubeflow.org/docs/components/katib/getting-started/#getting-started-with-katib-python-sdk
87
- # [1] Create an objective function.
88
- def objective (parameters ):
89
- result = 4 * int (parameters ["a" ]) - float (parameters ["b" ]) ** 2
90
- print (f"result={ result } " )
91
-
92
- # [2] Create hyperparameter search space.
93
- parameters = {
94
- "a" : search .int (min = 10 , max = 20 ),
95
- "b" : search .double (min = 0.1 , max = 0.2 )
96
- }
97
-
98
- # [3] Create Katib Experiment with 4 Trials and 2 CPUs per Trial.
99
- # And Wait until Experiment reaches Succeeded condition.
100
- katib_client .tune (
101
- name = exp_name ,
102
- namespace = exp_namespace ,
103
- objective = objective ,
104
- parameters = parameters ,
105
- objective_metric_name = "result" ,
106
- max_trial_count = 4 ,
107
- resources_per_trial = {"cpu" : "2" },
108
- )
109
- experiment = katib_client .wait_for_experiment_condition (
110
- exp_name , exp_namespace , timeout = EXPERIMENT_TIMEOUT
111
- )
112
-
113
- # Verify the Experiment results.
114
- verify_experiment_results (katib_client , experiment , exp_name , exp_namespace )
115
-
116
- # Print the Experiment and Suggestion.
117
- logging .debug (katib_client .get_experiment (exp_name , exp_namespace ))
118
- logging .debug (katib_client .get_suggestion (exp_name , exp_namespace ))
119
-
120
-
121
76
if __name__ == "__main__" :
122
77
parser = argparse .ArgumentParser ()
123
78
parser .add_argument (
@@ -194,7 +149,6 @@ def objective(parameters):
194
149
namespace_labels ['katib.kubeflow.org/metrics-collector-injection' ] = 'enabled'
195
150
client .CoreV1Api ().patch_namespace (args .namespace , {'metadata' : {'labels' : namespace_labels }})
196
151
197
- # Test with run_e2e_experiment
198
152
try :
199
153
run_e2e_experiment (katib_client , experiment , exp_name , exp_namespace )
200
154
logging .info ("---------------------------------------------------------------" )
@@ -208,19 +162,3 @@ def objective(parameters):
208
162
logging .info ("---------------------------------------------------------------" )
209
163
logging .info ("---------------------------------------------------------------" )
210
164
katib_client .delete_experiment (exp_name , exp_namespace )
211
-
212
- # Test with run_e2e_experiment_create_by_tune
213
- tune_exp_name = exp_name + "-by-tune"
214
- try :
215
- run_e2e_experiment_create_by_tune (katib_client , tune_exp_name , exp_namespace )
216
- logging .info ("---------------------------------------------------------------" )
217
- logging .info (f"E2E is succeeded for Experiment created by tune: { exp_namespace } /{ tune_exp_name } " )
218
- except Exception as e :
219
- logging .info ("---------------------------------------------------------------" )
220
- logging .info (f"E2E is failed for Experiment created by tune: { exp_namespace } /{ tune_exp_name } " )
221
- raise e
222
- finally :
223
- # Delete the Experiment.
224
- logging .info ("---------------------------------------------------------------" )
225
- logging .info ("---------------------------------------------------------------" )
226
- katib_client .delete_experiment (tune_exp_name , exp_namespace )
0 commit comments