torch.div¶
- torch.div(input, other, *, rounding_mode=None, out=None) Tensor ¶
将输入
input
的每个元素除以对应的other
元素。注意
默认情况下,这会执行类似于 Python 3 的“真”除法。请参阅
rounding_mode
参数以了解向下取整除法。支持广播到公共形状,类型提升,以及整数、浮点数和复数输入。始终将整数类型提升为默认标量类型。
- 参数:
输入(张量)- 被除数
其他(张量或数字)- 除数
- 关键字参数:
rounding_mode (str, 可选) –
应用于结果的舍入类型:None - 默认行为。不进行舍入,如果
input
和other
都是整型,则将输入提升为默认标量类型。相当于 Python 中的真除法(/
操作符)和 NumPy 的np.true_divide
。"trunc"
- 向零舍入除法结果。相当于 C 风格的整型除法。"floor"
向下取整除法的结果。相当于 Python 中的 floor division(//
操作符)和 NumPy 的np.floor_divide
。
输出(张量,可选)- 输出张量。
示例:
>>> 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.]])