Skip to content

Streamline scaling functionality #1196

@lbianchi-lbl

Description

@lbianchi-lbl
  • Reimplement scaling/unscaling functionality in foqus_lib.framework.graph.nodeVars to support numpy/pandas data structures
  • Add testing (potentially/partially property-based, e.g. Hypothesis)
  • Register scaling functions (e.g. as Setuptools entry points) to make them accessible throughout the FOQUS codebase
  • Integrate the scaling functions in the ANN surrogate plugin ensuring that the available options match the registered scaling functions
  • Extend new scaling functionality integration to other parts of the codebase (e.g. ML/AI plugin)

To start working on (4) before (3) is complete, the following stub can be used:

# foqus_lib/framework/surrogate/scaling.py

# mapping between the human-readable name for the scaling variant
# and an instance of the corresponding scaler class
map_name_to_scaler = {
    "Linear": LinearScaler(),
    "Log": LogScaler(),
    ...
}
# foqus_lib/framework/surrogate/xyz.py

from foqus_lib.framework.surrogate.scaling import map_name_to_scaler

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions