torch.round#
- torch.round(input,*,decimals=0,out=None)→Tensor#
Rounds elements of
inputto 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
- 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.])