nemos.basis.OrthExponentialEval.set_input_shape#
- OrthExponentialEval.set_input_shape(xi)[source]#
Set the expected input shape for the basis object.
This method configures the shape of the input data that the basis object expects.
xi
can be specified as an integer, a tuple of integers, or derived from an array. The method also calculates the total number of input features and output features based on the number of basis functions.- Parameters:
xi (int | tuple[int, …] | NDArray) –
The input shape specification. - An integer: Represents the dimensionality of the input. A value of
1
is treated as scalar input. - A tuple: Represents the exact input shape excluding the first axis (sample axis).All elements must be integers.
An array: The shape is extracted, excluding the first axis (assumed to be the sample axis).
- Raises:
ValueError – If a tuple is provided and it contains non-integer elements.
- Returns:
Returns the instance itself to allow method chaining.
- Return type:
self
Notes
All state attributes that depends on the input must be set in this method in order for the API of basis to work correctly. In particular, this method is called by
setup_basis
, which is equivalent tofit
for a transformer. If any input dependent state is not set in this method, thencompute_features
(equivalent tofit_transform
) will break.Examples
>>> import nemos as nmo >>> import numpy as np >>> basis = nmo.basis.OrthExponentialEval(5, decay_rates=np.arange(1, 6)) >>> # Configure with an integer input: >>> _ = basis.set_input_shape(3) >>> basis.n_output_features 15 >>> # Configure with a tuple: >>> _ = basis.set_input_shape((4, 5)) >>> basis.n_output_features 100 >>> # Configure with an array: >>> x = np.ones((10, 4, 5)) >>> _ = basis.set_input_shape(x) >>> basis.n_output_features 100