Rate this Page

torch.round#

torch.round(input,*,decimals=0,out=None)Tensor#

Rounds elements ofinput to the nearest integer.

For integer inputs, follows the array-api convention of returning acopy of the input tensor.The return type of output is same as that of input’s dtype.

Note

This function implements the “round half to even” tobreak ties when a number is equidistant from twointegers (e.g.round(2.5) is 2).

When the :attr:`decimals` argument is specified thealgorithm used is similar to NumPy’saround. Thisalgorithm is fast but inexact and it can easilyoverflow for low precision dtypes.Eg.round(tensor([10000], dtype=torch.float16), decimals=3) isinf.

See also

torch.ceil(), which rounds up.torch.floor(), which rounds down.torch.trunc(), which rounds towards zero.

Parameters
  • input (Tensor) – the input tensor.

  • decimals (int) – Number of decimal places to round to (default: 0).If decimals is negative, it specifies the number of positionsto the left of the decimal point.

Keyword Arguments

out (Tensor,optional) – the output tensor.

Example:

>>>torch.round(torch.tensor((4.7,-2.3,9.1,-7.7)))tensor([ 5.,  -2.,  9., -8.])>>># Values equidistant from two integers are rounded towards the>>>#   the nearest even value (zero is treated as even)>>>torch.round(torch.tensor([-0.5,0.5,1.5,2.5]))tensor([-0., 0., 2., 2.])>>># A positive decimals argument rounds to the to that decimal place>>>torch.round(torch.tensor([0.1234567]),decimals=3)tensor([0.1230])>>># A negative decimals argument rounds to the left of the decimal>>>torch.round(torch.tensor([1200.1234567]),decimals=-3)tensor([1000.])