*Memos:
- My post explains add().
- My post explains sub().
- My post explains mul().
- My post explains div().
- My post explains remainder().
fmod() can do the modulo(mod) calculation of C++’s std::fmod with two of the 0D or more D tensors of zero or more elements or the 0D or more D tensor of zero or more elements and a scalar, getting the 0D or more D tensor of zero or more elements as shown below:
*Memos:
-
fmod()
can be used with torch or a tensor. - The 1st argument(
input
) withtorch
or using a tensor(Required-Type:tensor
ofint
orfloat
). - The 2nd argument with
torch
or the 1st argument with a tensor isother
(Required-Type:tensor
orscalar
ofint
orfloat
). - There is
out
argument withtorch
(Optional-Default:None
-Type:tensor
): *Memos:-
out=
must be used. - My post explains
out
argument.
-
- Setting
0
(int
) toother
getsZeroDivisionError
. - The result has the same sign as the original tensor.
import torch tensor1 = torch.tensor([9, 7, 6]) tensor2 = torch.tensor([[4, -4, 3], [-2, 5, -5]]) torch.fmod(input=tensor1, other=tensor2) tensor1.fmod(other=tensor2) # tensor([[1, 3, 0], [1, 2, 1]]) torch.fmod(input=tensor1, other=4) # tensor([1, 3, 2]) tensor1 = torch.tensor([-9, -7, -6]) tensor2 = torch.tensor([[4, -4, 3], [-2, 5, -5]]) torch.fmod(input=tensor1, other=tensor2) # tensor([[-1, -3, 0], [-1, -2, -1]]) torch.fmod(input=tensor1, other=4) # tensor([-1, -3, -2]) tensor1 = torch.tensor([9.75, 7.08, 6.26]) tensor2 = torch.tensor([[4.26, -4.54, 3.37], [-2.16, 5.43, -5.98]]) torch.fmod(input=tensor1, other=tensor2) # tensor([[1.2300, 2.5400, 2.8900], [1.1100, 1.6500, 0.2800]]) torch.fmod(input=tensor1, other=4.26) # tensor([1.2300, 2.8200, 2.0000])
Top comments (0)