Closed tylernisonoff closed 6 days ago
After experimenting a bit, it seems that we'd want to the following defaults to be set if they cannot be found in the config:
1.6.3 and previous
defaults = {
"id_col": "unique_id",
"time_col": "ds",
"target_col": "y",
"local_scaler_type": None,
"scalers_": None
}
for 1.6.4, local_scalertype and scalers were added to the dataset, so we'd probably want to see of those attrs are available on the pickled dataset, and if so, take those as the defaults. Thats a bit gnarly though.
I may try to take a stab a PR for this, although I need to see if I can get the developer environment working properly.
Attempted fix: https://github.com/Nixtla/neuralforecast/pull/1207
What happened + What you expected to happen
Breaking changes to what is expected to be saved in
config_dict
for a given model means that models saved with neuralforecast versions before 1.7 cannot be loaded after upgrading the 1.7+This makes upgrading difficult, as we have many production models who's config_dicts are now incorrect.
It seems that at least the following keys are expected to be present in
config_dict
, but previously were not being saved there:It would be ideal if:
configuration.pkl
Versions / Dependencies
Confirmed issue upgrading from 1.6.4 -> 1.7.5
python, os, other libraries should not be relevant, but happy to provide.
Reproduction script
using a pre 1.7 version (such as 1.6.4)
Now upgrade to a 1.7 version (such as 1.7.5)
will error with:
However, it will also fail to find
["id_col", "time_col", "target_col"]
which are then read in on the next few lines.Issue Severity
Medium: It is a significant difficulty but I can work around it.