gemseo / problems / scalable / data_driven

model module

Scalable model

This module implements the abstract concept of scalable model which is used by scalable disciplines. A scalable model is built from a input-output learning dataset associated with a function and generalizing its behavior to a new user-defined problem dimension, that is to say new user-defined input and output dimensions.

The concept of scalable model is implemented through ScalableModel, an abstract class which is instantiated from:

  • data provided as a Dataset

  • variables sizes provided as a dictionary whose keys are the names of inputs and outputs and values are their new sizes. If a variable is missing, its original size is considered.

Scalable model parameters can also be filled in. Otherwise the model uses default values.

See also

The ScalableDiagonalModel class overloads ScalableModel.

Classes:

ScalableModel(data[, sizes])

Scalable model.

class gemseo.problems.scalable.data_driven.model.ScalableModel(data, sizes=None, **parameters)[source]

Bases: object

Scalable model.

Constructor.

Parameters
  • data (Dataset) – learning dataset.

  • sizes (dict) –

    sizes of input and output variables. If None, use the original sizes. Default: None.

    By default it is set to None.

  • parameters – model parameters

Attributes:

ABBR

inputs_names

Inputs names.

original_sizes

Original sizes of variables.

outputs_names

Outputs names.

Methods:

build_model()

Build model with original sizes for input and output variables.

compute_bounds()

Compute lower and upper bounds of both input and output variables.

normalize_data()

Normalize dataset from lower and upper bounds.

scalable_derivatives([input_value])

Evaluate the scalable derivatives.

scalable_function([input_value])

Evaluate the scalable function.

ABBR = 'sm'
build_model()[source]

Build model with original sizes for input and output variables.

compute_bounds()[source]

Compute lower and upper bounds of both input and output variables.

Returns

lower bounds, upper bounds.

Return type

dict, dict

property inputs_names

Inputs names.

Returns

names of the inputs.

Return type

list(str)

normalize_data()[source]

Normalize dataset from lower and upper bounds.

property original_sizes

Original sizes of variables.

Returns

original sizes of variables.

Return type

dict

property outputs_names

Outputs names.

Returns

names of the outputs.

Return type

list(str)

scalable_derivatives(input_value=None)[source]

Evaluate the scalable derivatives.

Parameters

input_value (dict) –

input values. If None, use default inputs. Default: None

By default it is set to None.

Returns

evaluation of the scalable derivatives.

Return type

dict

scalable_function(input_value=None)[source]

Evaluate the scalable function.

Parameters

input_value (dict) –

input values. If None, use default inputs. Default: None.

By default it is set to None.

Returns

evaluation of the scalable function.

Return type

dict