@@ -2,14 +2,14 @@ using MLFlowClient: MLFlow, logparam, logmetric,
22 createrun, MLFlowRun, updaterun,
33 logartifact, getorcreateexperiment
44
5- struct MLFlowInstance
5+ struct MLFlowLogger
66 client:: MLFlow
77 experiment_name:: String
88 artifact_location:: Union{String, Missing}
99end
10- MLFlowLogger (base_uri:: String , experiment_name:: String ,
10+ mlflow_logger (base_uri:: String , experiment_name:: String ,
1111 artifact_location:: Union{String, Missing} ) =
12- MLFlowInstance (MLFlow (base_uri), experiment_name, artifact_location)
12+ MLFlowLogger (MLFlow (base_uri), experiment_name, artifact_location)
1313
1414function _logmodelparams (client:: MLFlow , run:: MLFlowRun , model:: Model )
1515 model_params = params (model) |> flat_params |> collect
@@ -18,8 +18,8 @@ function _logmodelparams(client::MLFlow, run::MLFlowRun, model::Model)
1818 end
1919end
2020
21- function _logmachinemeasures (client:: MLFlow , run:: MLFlowRun , measures:: Vector{Measure } ,
22- measurements:: Vector{Float64} )
21+ function _logmachinemeasures (client:: MLFlow , run:: MLFlowRun , measures:: Vector{T } ,
22+ measurements:: Vector{Float64} ) where T <: Measure
2323 measure_names = measures .| > info .| > x -> x. name
2424 for (name, value) in zip (measure_names, measurements)
2525 logmetric (client, run, name, value)
2929function evaluate! (mach:: Machine , resampling, weights,
3030 class_weights, rows, verbosity,
3131 repeats, measures, operations,
32- acceleration, force, logger:: MLFlowInstance )
32+ acceleration, force, logger:: MLFlowLogger )
3333 performance_evaluation = evaluate! (mach, resampling, weights,
3434 class_weights, rows, verbosity,
3535 repeats, measures, operations,
@@ -46,17 +46,19 @@ function evaluate!(mach::Machine, resampling, weights,
4646 return performance_evaluation
4747end
4848
49- function save (logger:: MLFlowInstance , mach:: Machine )
49+ function save (logger:: MLFlowLogger , mach:: Machine )
50+ io = IOBuffer ()
51+ save (io, mach)
52+
5053 model_name = name (mach. model)
51- fname = " $(model_name) .jls"
52- save (fname, mach)
5354
5455 experiment = getorcreateexperiment (logger. client, logger. experiment_name,
5556 artifact_location= logger. artifact_location)
5657 run = createrun (logger. client, experiment;
5758 run_name= " $(model_name) run" )
5859
5960 _logmodelparams (logger. client, run, mach. model)
60- logartifact (logger. client, run, fname)
61- rm (fname)
61+ fname = " $(model_name) .jls"
62+ logartifact (logger. client, run, fname, io)
63+ updaterun (logger. client, run, " FINISHED" )
6264end
0 commit comments