torch.div#
- torch.div(input, other, *, rounding_mode=None, out=None) Tensor #
将输入
input
的每个元素除以other
的相应元素。注意
默认情况下,此操作执行 Python 3 风格的“真”除法。有关整除法,请参阅 `rounding_mode` 参数。
支持广播到通用形状、类型提升,以及整数、浮点数和复数输入。始终将整数类型提升到默认标量类型。
- 参数
- 关键字参数
rounding_mode (str, optional) –
应用于结果的舍入类型
None - 默认行为。不执行任何舍入,如果 `input` 和 `other` 都是整数类型,则将输入提升到默认标量类型。等同于 Python 中的真除法(`/` 运算符)和 NumPy 中的 `np.true_divide`。
`"trunc"` - 将除法结果向零舍入。等同于 C 风格的整数除法。
`"floor"` - 将除法结果向下舍入。等同于 Python 中的整除法(`//` 运算符)和 NumPy 中的 `np.floor_divide`。
out (Tensor, optional) – 输出张量。
示例
>>> x = torch.tensor([ 0.3810, 1.2774, -0.2972, -0.3719, 0.4637]) >>> torch.div(x, 0.5) tensor([ 0.7620, 2.5548, -0.5944, -0.7438, 0.9274]) >>> a = torch.tensor([[-0.3711, -1.9353, -0.4605, -0.2917], ... [ 0.1815, -1.0111, 0.9805, -1.5923], ... [ 0.1062, 1.4581, 0.7759, -1.2344], ... [-0.1830, -0.0313, 1.1908, -1.4757]]) >>> b = torch.tensor([ 0.8032, 0.2930, -0.8113, -0.2308]) >>> torch.div(a, b) tensor([[-0.4620, -6.6051, 0.5676, 1.2639], [ 0.2260, -3.4509, -1.2086, 6.8990], [ 0.1322, 4.9764, -0.9564, 5.3484], [-0.2278, -0.1068, -1.4678, 6.3938]]) >>> torch.div(a, b, rounding_mode='trunc') tensor([[-0., -6., 0., 1.], [ 0., -3., -1., 6.], [ 0., 4., -0., 5.], [-0., -0., -1., 6.]]) >>> torch.div(a, b, rounding_mode='floor') tensor([[-1., -7., 0., 1.], [ 0., -4., -2., 6.], [ 0., 4., -1., 5.], [-1., -1., -2., 6.]])