@@ -21,20 +21,9 @@ The ID of the newly created experiment.
21
21
function createexperiment (instance:: MLFlow , name:: String ;
22
22
artifact_location:: Union{String, Missing} = missing ,
23
23
tags:: MLFlowUpsertData{Tag} = Tag[]):: String
24
- try
25
- result = mlfpost (instance, " experiments/create" ; name= name,
26
- artifact_location= artifact_location,
27
- tags= parse (Tag, tags))
28
- return result[" experiment_id" ]
29
- catch e
30
- if isa (e, HTTP. ExceptionRequest. StatusError) && e. status == 400
31
- error_code = (e. response. body |> String |> JSON. parse)[" error_code" ]
32
- if error_code == MLFLOW_ERROR_CODES. RESOURCE_ALREADY_EXISTS
33
- error (" Experiment with name \" $name \" already exists" )
34
- end
35
- end
36
- throw (e)
37
- end
24
+ result = mlfpost (instance, " experiments/create" ; name= name,
25
+ artifact_location= artifact_location, tags= parse (Tag, tags))
26
+ return result[" experiment_id" ]
38
27
end
39
28
40
29
"""
@@ -51,13 +40,8 @@ Get metadata for an experiment. This method works on deleted experiments.
51
40
An instance of type [`Experiment`](@ref).
52
41
"""
53
42
function getexperiment (instance:: MLFlow , experiment_id:: String ):: Experiment
54
- try
55
- arguments = (:experiment_id => experiment_id,)
56
- result = mlfget (instance, " experiments/get" ; arguments... )
57
- return result[" experiment" ] |> Experiment
58
- catch e
59
- throw (e)
60
- end
43
+ result = mlfget (instance, " experiments/get" ; experiment_id= experiment_id)
44
+ return result[" experiment" ] |> Experiment
61
45
end
62
46
getexperiment (instance:: MLFlow , experiment_id:: Integer ):: Experiment =
63
47
getexperiment (instance, string (experiment_id))
@@ -80,16 +64,9 @@ An instance of type [`Experiment`](@ref).
80
64
"""
81
65
function getexperimentbyname (instance:: MLFlow ,
82
66
experiment_name:: String ):: Experiment
83
- try
84
- arguments = (:experiment_name => experiment_name,)
85
- result = mlfget (instance, " experiments/get-by-name" ; arguments... )
86
- return result[" experiment" ] |> Experiment
87
- catch e
88
- if isa (e, HTTP. ExceptionRequest. StatusError) && e. status == 404
89
- return missing
90
- end
91
- throw (e)
92
- end
67
+ result = mlfget (instance, " experiments/get-by-name" ;
68
+ experiment_name= experiment_name)
69
+ return result[" experiment" ] |> Experiment
93
70
end
94
71
95
72
"""
@@ -106,21 +83,11 @@ experiment are also deleted.
106
83
- `experiment_id`: ID of the associated experiment.
107
84
108
85
# Returns
109
-
110
86
`true` if successful. Otherwise, raises exception.
111
87
"""
112
88
function deleteexperiment (instance:: MLFlow , experiment_id:: String )
113
- endpoint = " experiments/delete"
114
- try
115
- mlfpost (instance, endpoint; experiment_id= experiment_id)
116
- return true
117
- catch e
118
- if isa (e, HTTP. ExceptionRequest. StatusError) && e. status == 404
119
- # experiment already deleted
120
- return true
121
- end
122
- throw (e)
123
- end
89
+ mlfpost (instance, " experiments/delete" ; experiment_id= experiment_id)
90
+ return true
124
91
end
125
92
deleteexperiment (instance:: MLFlow , experiment_id:: Integer ) =
126
93
deleteexperiment (instance, string (experiment_id))
@@ -141,23 +108,11 @@ underlying artifacts associated with experiment are also restored.
141
108
- `experiment_id`: ID of the associated experiment.
142
109
143
110
# Returns
144
-
145
111
`true` if successful. Otherwise, raises exception.
146
112
"""
147
113
function restoreexperiment (instance:: MLFlow , experiment_id:: String )
148
- endpoint = " experiments/restore"
149
- try
150
- mlfpost (instance, endpoint; experiment_id= experiment_id)
151
- return true
152
- catch e
153
- if isa (e, HTTP. ExceptionRequest. StatusError) && e. status == 404
154
- error_code = JSON. parse (String (e. response. body))[" error_code" ]
155
- if error_code == MLFLOW_ERROR_CODES. RESOURCE_DOES_NOT_EXIST
156
- error (" Experiment with id \" $experiment_id \" does not exist" )
157
- end
158
- end
159
- throw (e)
160
- end
114
+ mlfpost (instance, " experiments/restore" ; experiment_id= experiment_id)
115
+ return true
161
116
end
162
117
restoreexperiment (instance:: MLFlow , experiment_id:: Integer ) =
163
118
restoreexperiment (instance, string (experiment_id))
@@ -184,13 +139,9 @@ The new name must be unique.
184
139
"""
185
140
function updateexperiment (instance:: MLFlow , experiment_id:: String ,
186
141
new_name:: String )
187
- endpoint = " experiments/update"
188
- try
189
- mlfpost (instance, endpoint; experiment_id= experiment_id, new_name= new_name)
190
- return true
191
- catch e
192
- throw (e)
193
- end
142
+ mlfpost (instance, " experiments/update" ; experiment_id= experiment_id,
143
+ new_name= new_name)
144
+ return true
194
145
end
195
146
updateexperiment (instance:: MLFlow , experiment_id:: Integer , new_name:: String ) =
196
147
updateexperiment (instance, string (experiment_id), new_name)
@@ -219,23 +170,45 @@ unspecified, return only active experiments.
219
170
"""
220
171
function searchexperiments (instance:: MLFlow ; max_results:: Int64 = 20000 ,
221
172
page_token:: String = " " , filter:: String = " " , order_by:: Array{String} = String[],
222
- view_type:: ViewType = ACTIVE_ONLY) :: Tuple{Array{Experiment}, Union{String, Nothing}}
223
- endpoint = " experiments/search "
173
+ view_type:: ViewType = ACTIVE_ONLY
174
+ ) :: Tuple{Array{Experiment}, Union{String, Nothing}}
224
175
parameters = (; max_results, page_token, filter,
225
176
:view_type => view_type |> Integer)
226
177
227
178
if order_by |> ! isempty
228
179
parameters = (; order_by, parameters... )
229
180
end
230
181
231
- try
232
- result = mlfget (instance, endpoint; parameters... )
182
+ result = mlfget (instance, " experiments/search" ; parameters... )
233
183
234
- experiments = result[" experiments" ] |> (x -> [Experiment (y) for y in x])
235
- next_page_token = get (result, " next_page_token" , nothing )
184
+ experiments = result[" experiments" ] |> (x -> [Experiment (y) for y in x])
185
+ next_page_token = get (result, " next_page_token" , nothing )
236
186
237
- return experiments, next_page_token
238
- catch e
239
- throw (e)
240
- end
187
+ return experiments, next_page_token
241
188
end
189
+
190
+ """
191
+ setexperimenttag(instance::MLFlow, experiment_id::String, key::String,
192
+ value::String)
193
+ setexperimenttag(instance::MLFlow, experiment_id::Integer, key::String,
194
+ value::String)
195
+ setexperimenttag(instance::MLFlow, experiment::Experiment, key::String,
196
+ value::String)
197
+
198
+ Set a tag on an experiment. Experiment tags are metadata that can be updated.
199
+
200
+ # Arguments
201
+ - `experiment_id`: ID of the experiment under which to log the tag.
202
+ - `key`: Name of the tag.
203
+ - `value`: String value of the tag being logged.
204
+ """
205
+ setexperimenttag (instance:: MLFlow , experiment_id:: String , key:: String ,
206
+ value:: String ) =
207
+ mlfpost (instance, " experiments/set-experiment-tag" ;
208
+ experiment_id= experiment_id, key= key, value= value)
209
+ setexperimenttag (instance:: MLFlow , experiment_id:: Integer , key:: String ,
210
+ value:: String ) =
211
+ setexperimenttag (instance, string (experiment_id), key, value)
212
+ setexperimenttag (instance:: MLFlow , experiment:: Experiment , key:: String ,
213
+ value:: String ) =
214
+ setexperimenttag (instance, experiment. experiment_id, key, value)
0 commit comments