You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This could be provided as either part of #925 or as a follow-up PR.
The idea is to define a global variable DEFAULT_LOGGER and to make the default value of the logger keyword option in evaluate! equal to DEFAULT_LOGGER, rather than nothing. (And later, do the same for TunedModel and IteratedModel; see JuliaAI/MLJ.jl#1029.)
In __init__ the DEFAULT_LOGGER would be set to nothing but MLJBase will provide a public method default_logger to set and inspect the value. For example:
The required code can be modelled exactly on the DEFAULT_RESOURCE global variable (see src/init.jl) and the default_resource setter/getter (see src/MLJBase.jl).
Yes, everywhere we have a keyword argument logger=nothing , we need to change to logger=default_logger(). At present, that's just evaluate!.
In the case of MLJBase.save, there is nothing in MLJBase that connects save to logging. That happens only in MLJFlow.jl, where MLJBase.save(::MLFlowLogger, ::Machine) is overloaded. I suppose we could arrange that MLBase.save(mach) saves the machine to the default logger, ie, do something like this in MLJBase:
const ERR_INVALID_DEFAULT_LOGGER =ArgumentError(
"`default_logger()` is currently `nothing`. Either specify an explicit path or stream as ""target of the save, or use `default_logger(logger)` to change the default logger. "
)
""" <new doc string>"""
MLJBase.save(mach::Machine) =MLJBase(default_logger, mach)
MLJBase.save(::Nothing, ::Machine) =throw(ERR_INVALID_DEFAULT_LOGGER)
This could be provided as either part of #925 or as a follow-up PR.
The idea is to define a global variable
DEFAULT_LOGGER
and to make the default value of thelogger
keyword option inevaluate!
equal toDEFAULT_LOGGER
, rather thannothing
. (And later, do the same forTunedModel
andIteratedModel
; see JuliaAI/MLJ.jl#1029.)In
__init__
theDEFAULT_LOGGER
would be set tonothing
but MLJBase will provide a public methoddefault_logger
to set and inspect the value. For example:The required code can be modelled exactly on the
DEFAULT_RESOURCE
global variable (see src/init.jl) and thedefault_resource
setter/getter (see src/MLJBase.jl).To do after this integration:
default_logger
@pebeto
The text was updated successfully, but these errors were encountered: