How to compute element-wise remainder of given input tensor in PyTorch?

In this article, we are going to see how to compute the element-wise remainder in PyTorch. we have two methods to compute element-wise reminders one is torch.remainder() and the other one is torch.fmod() let’s go discuss both of them one by one.
torch.remainder() method
The PyTorch remainder() method computes the element-wise remainder of the division operation (dividend is divided by divisor). The dividend is a tensor whereas the divisor may be a scalar quantity or tensor. The values must be an integer and float only. before moving further let’s see the syntax of the given method.
Syntax: torch.remainder(input, other, out=None)
Parameters:
- input (Tensor or Scalar) : the dividend element.
- other (Tensor or Scalar) : the divisor element.
Return: This method returns a new tensor with remainder values.
Example 1:
The following program is to compute the element-wise remainder of two single-dimension tensors.
Python3
# importing torch import torch # define the dividend tens_1 = torch.tensor([5., -12., 25., -10., 30]) print("Dividend: ", tens_1) # define the divisor tens_2 = torch.tensor([5., -5., -6., 5., 8.]) print("Divisor: ", tens_2) # compute the remainder remainder = torch.remainder(tens_1, tens_2) # display result print("Remainder: ", remainder) |
Output:
Dividend: tensor([ 5., -12., 25., -10., 30.])
Divisor: tensor([ 5., -5., -6., 5., 8.])
Remainder: tensor([ 0., -2., -5., -0., 6.])
Example 2:
The following program is to compute the element-wise remainder of two 2D tensors.
Python3
# importing torch import torch # define the dividend tens_1 = torch.tensor([[5., -12.], [-10., 30.], ]) print("\n Dividend: \n", tens_1) # define the divisor tens_2 = torch.tensor([[5., -5.], [5., 8.], ]) print("\n Divisor: \n", tens_2) # compute the remainder remainder = torch.remainder(tens_1, tens_2) # display result print("\n Remainder: \n", remainder) |
Output:
Dividend:
tensor([[ 5., -12.],
[-10., 30.]])
Divisor:
tensor([[ 5., -5.],
[ 5., 8.]])
Remainder:
tensor([[ 0., -2.],
[-0., 6.]])
torch.fmod() method
This method gives also helps us to compute the element-wise remainder of division by the divisor. The divisor may be a number or a Tensor. When the divisor is zero it will return NaN. before moving further let’s see the syntax of the given method.
Syntax: torch.fmod(input, other)
Parameters:
- input (Tensor) : the dividend.
- other (Tensor or Scalar) : the divisor.
Return: This method returns a new tensor with remainder values.
Example 1:
The following program is to compute the element-wise remainder of two single-dimension tensors.
Python3
# importing torch import torch # define the dividend tens_1 = torch.tensor([5., -10., -17., 19., 20.]) print("\n\n Dividend: ", tens_1) # define the divisor tens_2 = torch.tensor([2., 5., 17., 7., 10.]) print("\n Divisor: ", tens_2) # compute the remainder using fmod() remainder = torch.fmod(tens_1, tens_2) # display result print("\n Remainder: ", remainder) |
Output:
Dividend: tensor([ 5., -10., -17., 19., 20.]) Divisor: tensor([ 2., 5., 17., 7., 10.]) Remainder: tensor([1., -0., -0., 5., 0.])
Example 2:
The following program is to compute the element-wise remainder of two 2D tensors.
Python3
# importing torch import torch # define the dividend tens_1 = torch.tensor([[16., -12.], [-10., 30.], ]) print("\n\n Dividend: \n", tens_1) # define the divisor tens_2 = torch.tensor([[5., -6.], [5., 8.], ]) print("\n Divisor: \n", tens_2) # compute the remainder using fmod() remainder = torch.fmod(tens_1, tens_2) # display result print("\n Remainder:\n", remainder) |
Output:
Dividend:
tensor([[ 16., -12.],
[-10., 30.]])
Divisor:
tensor([[ 5., -6.],
[ 5., 8.]])
Remainder:
tensor([[1., -0.],
[-0., 6.]])



