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.

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.

  • parameters – model parameters

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

normalize_data()[source]

Normalize dataset from lower and upper bounds.

scalable_derivatives(input_value=None)[source]

Evaluate the scalable derivatives.

Parameters:

input_value (dict) – input values. If None, use default inputs. Default: 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.

Returns:

evaluation of the scalable function.

Return type:

dict

ABBR = 'sm'
property inputs_names

Inputs names.

Returns:

names of the inputs.

Return type:

list(str)

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)