Skip to content

ENH: Add config / params dataclasses for high-level functions #679

@NickleDave

Description

@NickleDave

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'

Metadata

Metadata

Assignees

No one assigned

    Labels

    ENH: enhancementenhancement; new feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions