-
Notifications
You must be signed in to change notification settings - Fork 17
Description
High-level functions--prep, train, eval, predict, learncurve--now dispatch to lower level functions based on the task and/or dataset
Currently all parameters of the lower level functions must also be parameters of the higher level function, that then passes them in as args
This results in a combinatorial explosion of parameters for the high level function and makes it hard to know which parameters are for which lower level function
We should instead have the high level function accept a params
argument that can be one of a set of dataclasses.
E.g., vak.train
will accept train_params
that can be vak.train.frame_classification.TrainParams
or vak.train.dimensionality_reduction.TrainParams
.
This will also make it easier to map from a config file to params classes if we use similar levels in the config file, e.g.
[vak.train.frame_classification]
pretrained_weights_path = '/dev/null/multiverse'