Skip to content

_maximum

maximum

Get the maximum of the given tensors.

This method can be used with Numpy data:

n1 = np.array([[2, 7, 6]])
n2 = np.array([[2, 7, 5]])
res = fe.backend.maximum(n1, n2) # [[2, 7, 6]]

This method can be used with TensorFlow tensors:

t1 = tf.constant([[2, 7, 6]])
t2 = tf.constant([[2, 7, 5]])
res = fe.backend.maximum(t1, t2) # [[2, 7, 6]]

This method can be used with PyTorch tensors:

p1 = torch.tensor([[2, 7, 6]])
p2 = torch.tensor([[2, 7, 5]])
res = fe.backend.maximum(p1, p2) # [[2, 7, 6]]

Parameters:

Name Type Description Default
tensor1 Tensor

First tensor.

required
tensor2 Tensor

Second tensor.

required

Returns:

Type Description
Tensor

The maximum of two tensors.

Raises:

Type Description
ValueError

If tensor is an unacceptable data type.

Source code in fastestimator/fastestimator/backend/_maximum.py
def maximum(tensor1: Tensor, tensor2: Tensor) -> Tensor:
    """Get the maximum of the given `tensors`.

    This method can be used with Numpy data:
    ```python
    n1 = np.array([[2, 7, 6]])
    n2 = np.array([[2, 7, 5]])
    res = fe.backend.maximum(n1, n2) # [[2, 7, 6]]
    ```

    This method can be used with TensorFlow tensors:
    ```python
    t1 = tf.constant([[2, 7, 6]])
    t2 = tf.constant([[2, 7, 5]])
    res = fe.backend.maximum(t1, t2) # [[2, 7, 6]]
    ```

    This method can be used with PyTorch tensors:
    ```python
    p1 = torch.tensor([[2, 7, 6]])
    p2 = torch.tensor([[2, 7, 5]])
    res = fe.backend.maximum(p1, p2) # [[2, 7, 6]]
    ```

    Args:
        tensor1: First tensor.
        tensor2: Second tensor.

    Returns:
        The maximum of two `tensors`.

    Raises:
        ValueError: If `tensor` is an unacceptable data type.
    """
    if tf.is_tensor(tensor1) and tf.is_tensor(tensor2):
        return tf.maximum(tensor1, tensor2)
    elif isinstance(tensor1, torch.Tensor) and isinstance(tensor2, torch.Tensor):
        return torch.max(tensor1, tensor2)
    elif isinstance(tensor1, np.ndarray) and isinstance(tensor2, np.ndarray):
        return np.maximum(tensor1, tensor2)
    else:
        raise ValueError("Unrecognized tensor type {}".format(type(tensor1)))