LambdaFunction

class probnum.LambdaFunction(fn, input_shape, output_shape=())

Bases: Function

Define a Function from a given callable.

Creates a Function from a given callable and in- and output shapes. This provides a convenient interface to define a Function.

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 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

input_ndim

Syntactic sugar for len(input_shape).

input_shape

Shape of the function's input.

output_ndim

Syntactic sugar for len(output_shape).

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 match input_shape along its last dimensions.