-
Notifications
You must be signed in to change notification settings - Fork 683
[API] M layer design #1870
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
FYI @agobbifbk, @PranavBhatP , @phoeenniixx , @xandie985 |
Nice!!!
Maybe I'm not so clear, we can discuss it further in a dedicated meeting, my feeling is that we can optimize even more the structure keeping clear the flow D1->D2->M. |
Well, my idea always was that the user sided flow optimally should only be "data -> model", and that interface being unified, same as in sklearn. That is, the flow is D1 -> D2 -> NN, and M = D2 + NN The challenge was that we had to cut the data layer in half to achieve unified. |
Agreed, though I would make this an additional intermediate base class. Users typically want "model" (including loader) as an object.
Can you give examples of "reuse"? |
Uh oh!
There was an error while loading. Please reload this page.
Issue to discuss the M layer design. For context, see design document here: sktime/enhancement-proposals#39
My current proposed design, this is base on v1 and v2 metadata layer design. Long-term state:
TFT
. The current ligthning network is renamedTFT_NN
get_test_params
etc similar to current "metadata" class__init__
has all args of two objects: the loader (D2, e.g.,DecoderEncoderModule
) and the network (e.g.,TFT_NN
). minus dataget_loader_class
gets the loader class (e.g., the classDecoderEncoderModule
);get_loader(data: TimeSeries)
produces an loader object, an instance of theget_loader_class
return.get_nn_class
returns the nn class (e.g.,TFT_NN
);get_nn(loader)
gets an instance of the nn class.init(data)
, which calls the above in sequence, and produces a pair of loader and nn, as if the twoget
methods were called in sequence.__call__
dispatches toinit
So, a usage vignette could look like:
The only thing that changes for other models are the model class, and the args/values of it, for
model_cfg
.In
sktime
, we would add the trainer as an arg to__init__
, andsktime
fit(data)
doesself.trainer(*self.model_cfg(data))
(with some potential conversion fordata
- or we could allowTimeSeries
as anmtype
)The text was updated successfully, but these errors were encountered: