Skip to content

math

Elementwise math: division with a default for zero denominators.

Functions:

  • safe_divide –

    Safely divide two tensors, returning a default value if the denominator is zero.

safe_divide [source] ΒΆ

safe_divide(
    a: Tensor,
    b: Tensor,
    /,
    default: Union[float, Tensor] = float("nan"),
) -> Tensor

Safely divide two tensors, returning a default value if the denominator is zero.

Note

If the inputs are not floating point numbers, they will be converted to floating point numbers (float32).

Parameters:

  • a (Tensor) –

    The numerator tensor.

  • b (Tensor) –

    The denominator tensor.

  • default (Union[float, Tensor], default: float('nan') ) –

    The default value to return if the denominator is zero.

Returns:

  • Tensor –

    The result of the division.

Example
>>> safe_divide(torch.tensor([1.0, 2.0, 3.0]), torch.tensor([1.0, 0.0, 1.0]))
tensor([1., nan, 3.])
>>> safe_divide(torch.tensor([1.0, 2.0, 3.0]), torch.tensor([1.0, 0.0, 1.0]), default=0.0)
tensor([1., 0., 3.])
>>> safe_divide(torch.tensor([1, 2, 3]), torch.tensor([1, 0, 1]), default=torch.tensor([0, 0, 0]))
tensor([1., 0., 3.])