Skip to content

Commit 1421263

Browse files
authoredJul 19, 2024
Merge pull request #222 from JuliaAI/dev
For a 0.8.8 release
2 parents 66581bc + eefcb8a commit 1421263

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed
 

‎Project.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "MLJTuning"
22
uuid = "03970b2e-30c4-11ea-3135-d1576263f10f"
33
authors = ["Anthony D. Blaom <anthony.blaom@gmail.com>"]
4-
version = "0.8.7"
4+
version = "0.8.8"
55

66
[deps]
77
ComputationalResources = "ed09eef8-17a6-5b46-8889-db040fac31e3"
@@ -18,7 +18,7 @@ StatisticalMeasuresBase = "c062fc1d-0d66-479b-b6ac-8b44719de4cc"
1818
ComputationalResources = "0.3"
1919
Distributions = "0.22,0.23,0.24, 0.25"
2020
LatinHypercubeSampling = "1.7.2"
21-
MLJBase = "1.4"
21+
MLJBase = "1.5"
2222
ProgressMeter = "1.7.1"
2323
RecipesBase = "0.8,0.9,1"
2424
StatisticalMeasuresBase = "0.1.1"

‎src/tuned_models.jl

+5-1
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,10 @@ key | value
257257
regular [`PerformanceEvaluation`](@ref) objects to the history (accessed via the
258258
`:evaluation` key); the compact form excludes some fields to conserve memory.
259259
260+
- `logger=default_logger()`: a logger for externally reporting model performance
261+
evaluations, such as an `MLJFlow.Logger` instance. On startup,
262+
`default_logger()=nothing`; use `default_logger(logger)` to set a global logger.
263+
260264
"""
261265
function TunedModel(
262266
args...;
@@ -281,7 +285,7 @@ function TunedModel(
281285
check_measure=true,
282286
cache=true,
283287
compact_history=true,
284-
logger=nothing
288+
logger=MLJBase.default_logger()
285289
)
286290

287291
# user can specify model as argument instead of kwarg:

‎test/tuned_models.jl

+25
Original file line numberDiff line numberDiff line change
@@ -526,4 +526,29 @@ end
526526
@test first(evaluations) isa MLJBase.PerformanceEvaluation
527527
end
528528

529+
struct DummyLogger
530+
buffer
531+
end
532+
533+
MLJBase.log_evaluation(logger::DummyLogger, performance_evaluation) =
534+
write(logger.buffer, performance_evaluation.measurement[1])
535+
536+
@testset "default logger" begin
537+
buffer = IOBuffer()
538+
logger = DummyLogger(buffer)
539+
default_logger(logger)
540+
model1 = KNNRegressor(K=5)
541+
model2 = KNNRegressor(K=3)
542+
tmodel = TunedModel(models=[model1, model2], measure=l2)
543+
mach = machine(tmodel, make_regression(10)...)
544+
fit!(mach, verbosity=0)
545+
seekstart(buffer)
546+
@test all(report(mach).history) do entry
547+
logger_measurement = read(buffer, Float64)
548+
logger_measurement == entry.evaluation.measurement[1]
549+
end
550+
default_logger(nothing)
551+
close(buffer)
552+
end
553+
529554
true

0 commit comments

Comments
 (0)
Failed to load comments.