LambdaFunction¶
- class probnum.functions.LambdaFunction(fn, input_shape, output_shape=())[source]¶
Bases:
Function
Define a
Function
from a givencallable
.Creates a
Function
from a givencallable
and in- and output shapes. This provides a convenient interface to define aFunction
.- Parameters
fn (Callable[[np.ndarray], np.ndarray]) – Callable defining the function.
input_shape (ShapeLike) – Input shape.
output_shape (ShapeLike) – Output shape.
- Return type
None
Examples
>>> import numpy as np >>> from probnum.functions import LambdaFunction >>> fn = LambdaFunction(fn=lambda x: 2 * x + 1, input_shape=(2,), output_shape=(2,)) >>> fn(np.array([[1, 2], [4, 5]])) array([[ 3, 5], [ 9, 11]])
See also
Function
Callable with a fixed in- and output shape.
Attributes Summary
Syntactic sugar for
len(input_shape)
.Shape of the function's input.
Syntactic sugar for
len(output_shape)
.Shape of the function's output.
Methods Summary
__call__
(x)Evaluate the function at a given input.
Attributes Documentation
- input_ndim¶
Syntactic sugar for
len(input_shape)
.
- input_shape¶
Shape of the function’s input.
For a scalar-input function, this is an empty tuple.
- output_ndim¶
Syntactic sugar for
len(output_shape)
.
- output_shape¶
Shape of the function’s output.
For scalar-valued function, this is an empty tuple.
Methods Documentation
- __call__(x)¶
Evaluate the function at a given input.
The function is vectorized over the batch shape of the input.
- Parameters
x (ArrayLike) – shape=
batch_shape +
input_shape
– (Batch of) input(s) at which to evaluate the function.- Returns
shape=
batch_shape +
output_shape
– Function evaluated at the given (batch of) input(s).- Return type
fx
- Raises
ValueError – If the shape of
x
does not matchinput_shape
along its last dimensions.