Deserialisation fails for wrappers like TunedModel
when atomic model overloads save/restore
#1099
Closed
4 tasks done
Labels
bug
Something isn't working
XGBoost.jl models have non-persistent
fitresult
s which means that they cannot be directly serialised. That's not a problem, because such models can overload MLJModelInterface'ssave
andrestore
. However, it has been reported that XGBoost models wrapped inTunedModel
don't deserialise properly. Here is a MWE:First, we define a supervised model,
EphemeralRegressor
, with an ephemeral fitresult. For this model we overloadsave/restore
to ensure deserialization works, provided you use the correct API.But wrapping this model using
TunedModel
leads to deserialization failure:The remedy is to properly "forward" the
save
/restore
methods of the atomic models. We can exclude any wrapper model implemented asNetworkComposite
(ie, using learning networks) as they already overloadsave
andrestore
properly.To do (waiting on review):
TunedModel
Overloadsave
andrestore
MLJTuning.jl#208IteratedModel
Overloadsave
andrestore
to fix a serialization issue MLJIteration.jl#59EnsembleModel
Add extra serialization test MLJEnsembles.jl#32BinaryThresholdPredictor
Overloadsave
andrestore
to address serialization issue forBinaryThresholdPredictor
MLJModels.jl#550The text was updated successfully, but these errors were encountered: