PyTorchremainder()方法计算除法运算的逐元素余数(被除数除以除数)。被除数是一个张量,而除数可以是一个数字或张量。此方法应用模运算,如果结果的符号与除数不同,则将除数添加到模结果中。此方法仅支持整数和浮点值输入。以下是该方法的语法 -
用法: torch.remainder(input, other, out=None)
参数:
- 输入:被除数(张量)。
- other:除数(张量或数字)。
返回: 它返回一个带有余数值的张量。
让我们了解一下火炬。remainder()方法并借助一些 Python 示例。
示例 1:
在下面的 Python 示例中,我们计算火炬张量除以数字时的余数。
这里,-13 除以 5,余数是 2。怎么样? mod(-13, 5) = -3,则 -3+5 = 2。当模值与除数不同时,将除数与模相加。请注意当除数为 -5 时余数有何不同。
Python3
# Python 3 program to demonstrate the
# torch.remainder() method
# importing torch
import torch
# define the dividend
x = torch.tensor([5, -13, 24, -7, 7])
print("Dividend:", x)
# define the divisor
y = 5
print("Divisor:",y)
# compute the remainder
remainder = torch.remainder(x,y)
print("Remainder:",remainder)
z = -5
print("Divisor:",z)
remainder = torch.remainder(x,z)
print("Remainder:",remainder)
输出:
Dividend: tensor([ 5, -13, 24, -7, 7]) Divisor: 5 Remainder: tensor([0, 2, 4, 3, 2]) Divisor: -5 Remainder: tensor([ 0, -3, -1, -2, -3])
示例 2:
在下面的 Python 示例中,当被除数和除数都是 torch 张量时,我们计算逐元素余数。
Python3
# Python 3 program to demonstrate the
# torch.remainder() method
# importing torch
import torch
# define the dividend
x = torch.tensor([15, -13, 15, -15, 0])
print("Dividend:", x)
# define the divisor
y = torch.tensor([7, 7, -7, -7, 7])
print("Divisor:",y)
# compute the remainder
remainder = torch.remainder(x,y)
print("Remainder:",remainder)
输出:
Dividend: tensor([ 15, -13, 15, -15, 0]) Divisor: tensor([ 7, 7, -7, -7, 7]) Remainder: tensor([ 1, 1, -6, -1, 0])
示例 3:
在下面的示例中,我们按照示例 2 中的方法查找余数,但针对的是浮点张量。
Python3
# Python 3 program to demonstrate the
# torch.remainder() method for float values
# importing torch
import torch
# define the dividend
x = torch.tensor([15., -13., 15., -15., 0])
print("Dividend:", x)
# define the divisor
y = torch.tensor([7., 7., -7., -7., 7.])
print("Divisor:",y)
# compute the remainder
remainder = torch.remainder(x,y)
print("Remainder:",remainder)
输出:
Dividend: tensor([ 15., -13., 15., -15., 0.]) Divisor: tensor([ 7., 7., -7., -7., 7.]) Remainder: tensor([ 1., 1., -6., -1., 0.])
示例4:
在下面的示例中,尝试求除以零或无穷大时的余数。
请注意,当除数为零时,无论股息值如何,余数都是 nan(非数字)。当非零除以无穷大时,余数为无穷大,但当零除以无穷大时,余数为 0。另请注意,两个张量都是浮点张量。请参阅下一个整数除以零的示例。
Python3
# Python 3 program to demonstrate the
# torch.remainder() method
# importing torch
import torch
import numpy as np
# define the dividend
x = torch.tensor([15., -13., 0., -15., 0])
print("Dividend:", x)
# define the divisor
y = torch.tensor([0., np.inf, 0., 0., np.inf])
print("Divisor:",y)
# compute the remainder
remainder = torch.remainder(x,y)
print("Remainder:",remainder)
输出:
Dividend: tensor([ 15., -13., 0., -15., 0.]) Divisor: tensor([0., inf, 0., 0., inf]) Remainder: tensor([nan, inf, nan, nan, 0.])
实施例5:
在此示例中,我们尝试求整数除以零时的余数。
请注意,在整数被除数的情况下,它会引发运行时错误,而在浮点被除数的情况下,它会将余数返回为 nan(如示例 4 所示)。
Python3
# Python 3 program to demonstrate the
# torch.remainder() method
# importing torch
import torch
import numpy as np
# define the dividend
x = torch.tensor([15])
print("Dividend:", x)
# define the divisor
y = torch.tensor([0])
print("Divisor:",y)
# compute the remainder
remainder = torch.remainder(x,y)
print("Remainder:",remainder)
输出:
Dividend: tensor([15]) Divisor: tensor([0]) RuntimeError: ZeroDivisionError
相关用法
- Python PyTorch acos()用法及代码示例
- Python PyTorch asin()用法及代码示例
- Python PyTorch atan()用法及代码示例
- Python PyTorch cos()用法及代码示例
- Python PyTorch cosh()用法及代码示例
- Python PyTorch sin()用法及代码示例
- Python PyTorch sinh()用法及代码示例
- Python PyTorch tan()用法及代码示例
- Python PyTorch tanh()用法及代码示例
- Python PyTorch from_numpy()用法及代码示例
- Python PyTorch div()用法及代码示例
- Python PyTorch clamp()用法及代码示例
- Python PyTorch ceil()用法及代码示例
- Python PyTorch add()用法及代码示例
- Python PyTorch abs()用法及代码示例
- Python PyTorch exp()用法及代码示例
- Python PyTorch numel()用法及代码示例
- Python PyTorch is_storage()用法及代码示例
- Python PyTorch is_tensor()用法及代码示例
- Python PyTorch trunc()用法及代码示例
- Python PyTorch frac()用法及代码示例
- Python PyTorch log()用法及代码示例
- Python PyTorch fmod()用法及代码示例
- Python PyTorch floor()用法及代码示例
- Python PyTorch zeros()用法及代码示例
注:本文由纯净天空筛选整理自shahidedu7大神的英文原创作品 Python PyTorch remainder() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。