1
1
"""
2
- createexperiment(instance::MLFlow; name::String="",
2
+ createexperiment(instance::MLFlow, name::String;
3
3
artifact_location::String="",
4
4
tags::Union{Dict{<:Any}, Array{<:Any}}=[])
5
5
@@ -18,13 +18,9 @@ default.
18
18
# Returns
19
19
The ID of the newly created experiment.
20
20
"""
21
- function createexperiment (instance:: MLFlow ; name:: String = " " ,
22
- artifact_location:: String = " " ,
21
+ function createexperiment (instance:: MLFlow , name:: String ;
22
+ artifact_location:: Union{ String, Missing} = missing ,
23
23
tags:: Union{Dict{<:Any}, Array{<:Any}} = []):: String
24
- if name |> isempty
25
- name = UUIDs. uuid4 () |> string
26
- end
27
-
28
24
tags = tags |> parsetags
29
25
30
26
try
@@ -100,26 +96,26 @@ function getexperimentbyname(instance::MLFlow, experiment_name::String)
100
96
end
101
97
102
98
"""
103
- deleteexperiment(mlf ::MLFlow, experiment_id::String)
104
- deleteexperiment(mlf ::MLFlow, experiment_id::Integer)
105
- deleteexperiment(mlf ::MLFlow, experiment::Experiment)
99
+ deleteexperiment(instance ::MLFlow, experiment_id::String)
100
+ deleteexperiment(instance ::MLFlow, experiment_id::Integer)
101
+ deleteexperiment(instance ::MLFlow, experiment::Experiment)
106
102
107
103
Mark an experiment and associated metadata, runs, metrics, params, and tags for
108
104
deletion. If the experiment uses FileStore, artifacts associated with
109
105
experiment are also deleted.
110
106
111
107
# Arguments
112
- - `mlf `: [`MLFlow`](@ref) configuration.
108
+ - `instance `: [`MLFlow`](@ref) configuration.
113
109
- `experiment_id`: ID of the associated experiment.
114
110
115
111
# Returns
116
112
117
113
`true` if successful. Otherwise, raises exception.
118
114
"""
119
- function deleteexperiment (mlf :: MLFlow , experiment_id:: String )
115
+ function deleteexperiment (instance :: MLFlow , experiment_id:: String )
120
116
endpoint = " experiments/delete"
121
117
try
122
- mlfpost (mlf , endpoint; experiment_id= experiment_id)
118
+ mlfpost (instance , endpoint; experiment_id= experiment_id)
123
119
return true
124
120
catch e
125
121
if isa (e, HTTP. ExceptionRequest. StatusError) && e. status == 404
@@ -129,32 +125,32 @@ function deleteexperiment(mlf::MLFlow, experiment_id::String)
129
125
throw (e)
130
126
end
131
127
end
132
- deleteexperiment (mlf :: MLFlow , experiment_id:: Integer ) =
133
- deleteexperiment (mlf , string (experiment_id))
134
- deleteexperiment (mlf :: MLFlow , experiment:: Experiment ) =
135
- deleteexperiment (mlf , experiment. experiment_id)
128
+ deleteexperiment (instance :: MLFlow , experiment_id:: Integer ) =
129
+ deleteexperiment (instance , string (experiment_id))
130
+ deleteexperiment (instance :: MLFlow , experiment:: Experiment ) =
131
+ deleteexperiment (instance , experiment. experiment_id)
136
132
137
133
"""
138
- restoreexperiment(mlf ::MLFlow, experiment_id::String)
139
- restoreexperiment(mlf ::MLFlow, experiment_id::Integer)
140
- restoreexperiment(mlf ::MLFlow, experiment::Experiment)
134
+ restoreexperiment(instance ::MLFlow, experiment_id::String)
135
+ restoreexperiment(instance ::MLFlow, experiment_id::Integer)
136
+ restoreexperiment(instance ::MLFlow, experiment::Experiment)
141
137
142
138
Restore an experiment marked for deletion. This also restores associated
143
139
metadata, runs, metrics, params, and tags. If experiment uses FileStore,
144
140
underlying artifacts associated with experiment are also restored.
145
141
146
142
# Arguments
147
- - `mlf `: [`MLFlow`](@ref) configuration.
143
+ - `instance `: [`MLFlow`](@ref) configuration.
148
144
- `experiment_id`: ID of the associated experiment.
149
145
150
146
# Returns
151
147
152
148
`true` if successful. Otherwise, raises exception.
153
149
"""
154
- function restoreexperiment (mlf :: MLFlow , experiment_id:: String )
150
+ function restoreexperiment (instance :: MLFlow , experiment_id:: String )
155
151
endpoint = " experiments/restore"
156
152
try
157
- mlfpost (mlf , endpoint; experiment_id= experiment_id)
153
+ mlfpost (instance , endpoint; experiment_id= experiment_id)
158
154
return true
159
155
catch e
160
156
if isa (e, HTTP. ExceptionRequest. StatusError) && e. status == 404
@@ -166,48 +162,51 @@ function restoreexperiment(mlf::MLFlow, experiment_id::String)
166
162
throw (e)
167
163
end
168
164
end
169
- restoreexperiment (mlf :: MLFlow , experiment_id:: Integer ) =
170
- deleteexperiment (mlf , string (experiment_id))
171
- restoreexperiment (mlf :: MLFlow , experiment:: Experiment ) =
172
- deleteexperiment (mlf , experiment. experiment_id)
165
+ restoreexperiment (instance :: MLFlow , experiment_id:: Integer ) =
166
+ deleteexperiment (instance , string (experiment_id))
167
+ restoreexperiment (instance :: MLFlow , experiment:: Experiment ) =
168
+ deleteexperiment (instance , experiment. experiment_id)
173
169
174
170
"""
175
- updateexperiment(mlf::MLFlow, experiment_id::String, new_name::String)
176
- updateexperiment(mlf::MLFlow, experiment_id::Integer, new_name::String)
177
- updateexperiment(mlf::MLFlow, experiment::Experiment, new_name::String)
171
+ updateexperiment(instance::MLFlow, experiment_id::String, new_name::String)
172
+ updateexperiment(instance::MLFlow, experiment_id::Integer,
173
+ new_name::String)
174
+ updateexperiment(instance::MLFlow, experiment::Experiment,
175
+ new_name::String)
178
176
179
177
Update experiment metadata.
180
178
181
179
# Arguments
182
- - `mlf `: [`MLFlow`](@ref) configuration.
180
+ - `instance `: [`MLFlow`](@ref) configuration.
183
181
- `experiment_id`: ID of the associated experiment.
184
182
- `new_name`: If provided, the experiment’s name is changed to the new name.
185
183
The new name must be unique.
186
184
187
185
# Returns
188
186
`true` if successful. Otherwise, raises exception.
189
187
"""
190
- function updateexperiment (mlf:: MLFlow , experiment_id:: String , new_name:: String )
188
+ function updateexperiment (instance:: MLFlow , experiment_id:: String ,
189
+ new_name:: String )
191
190
endpoint = " experiments/update"
192
191
try
193
- mlfpost (mlf , endpoint; experiment_id= experiment_id, new_name= new_name)
192
+ mlfpost (instance , endpoint; experiment_id= experiment_id, new_name= new_name)
194
193
return true
195
194
catch e
196
195
throw (e)
197
196
end
198
197
end
199
- updateexperiment (mlf :: MLFlow , experiment_id:: Integer , new_name:: String ) =
200
- updateexperiment (mlf , string (experiment_id), new_name)
201
- updateexperiment (mlf :: MLFlow , experiment:: Experiment , new_name:: String ) =
202
- updateexperiment (mlf , experiment. experiment_id, new_name:: String )
198
+ updateexperiment (instance :: MLFlow , experiment_id:: Integer , new_name:: String ) =
199
+ updateexperiment (instance , string (experiment_id), new_name)
200
+ updateexperiment (instance :: MLFlow , experiment:: Experiment , new_name:: String ) =
201
+ updateexperiment (instance , experiment. experiment_id, new_name:: String )
203
202
204
203
"""
205
- searchexperiments(mlf ::MLFlow; max_results::Integer=20000,
204
+ searchexperiments(instance ::MLFlow; max_results::Integer=20000,
206
205
page_token::String="", filter::String="", order_by::Array{String}=[],
207
206
view_type::ViewType=ACTIVE_ONLY)
208
207
209
208
# Arguments
210
- - `mlf `: [`MLFlow`](@ref) configuration.
209
+ - `instance `: [`MLFlow`](@ref) configuration.
211
210
- `max_results`: Maximum number of experiments desired.
212
211
- `page_token`: Token indicating the page of experiments to fetch.
213
212
- `filter`: A filter expression over experiment attributes and tags that allows
@@ -221,9 +220,9 @@ unspecified, return only active experiments.
221
220
# Returns
222
221
- vector of [`MLFlowExperiment`](@ref) experiments that were found in the MLFlow instance
223
222
"""
224
- function searchexperiments (mlf :: MLFlow ; max_results:: Integer = 20000 ,
223
+ function searchexperiments (instance :: MLFlow ; max_results:: Integer = 20000 ,
225
224
page_token:: String = " " , filter:: String = " " , order_by:: Array{String} = String[],
226
- view_type:: ViewType = ACTIVE_ONLY)
225
+ view_type:: ViewType = ACTIVE_ONLY):: Tuple{Array{Experiment}, Union{String, Nothing}}
227
226
endpoint = " experiments/search"
228
227
parameters = (; max_results, page_token, filter,
229
228
:view_type => view_type |> Integer)
@@ -233,8 +232,12 @@ function searchexperiments(mlf::MLFlow; max_results::Integer=20000,
233
232
end
234
233
235
234
try
236
- result = mlfget (mlf, endpoint; parameters... )
237
- return result[" experiments" ] |> (x -> [Experiment (y) for y in x])
235
+ result = mlfget (instance, endpoint; parameters... )
236
+
237
+ experiments = result[" experiments" ] |> (x -> [Experiment (y) for y in x])
238
+ next_page_token = get (result, " next_page_token" , nothing )
239
+
240
+ return experiments, next_page_token
238
241
catch e
239
242
throw (e)
240
243
end
0 commit comments