Shortcuts

torch.addcdiv

torch.addcdiv(input, tensor1, tensor2, *, value=1, out=None) 张量

tensor1tensor2 进行逐元素除法, 将结果乘以标量 value 并将其加到 input 上。

警告

不再支持使用 addcdiv 进行整数除法,并且在未来的版本中,addcdiv 将执行 tensor1 和 tensor2 的真除法。 历史上的 addcdiv 行为可以通过以下方式实现: 对于整数输入,使用 (input + value * torch.trunc(tensor1 / tensor2)).to(input.dtype); 对于浮点输入,使用 (input + value * tensor1 / tensor2)。 未来的 addcdiv 行为就是后一种实现方式: (input + value * tensor1 / tensor2),适用于所有数据类型。

outi=inputi+value×tensor1itensor2i\text{out}_i = \text{input}_i + \text{value} \times \frac{\text{tensor1}_i}{\text{tensor2}_i}

The shapes of input, tensor1, and tensor2 的形状必须 可广播

对于类型为 FloatTensorDoubleTensor 的输入,value 必须是一个实数,否则为整数。

Parameters
  • 输入 (张量) – 要被添加的张量

  • tensor1 (张量) – 分子张量

  • tensor2 (张量) – 分母张量

Keyword Arguments
  • (数字, 可选) – tensor1/tensor2\text{tensor1} / \text{tensor2} 的乘数

  • 输出 (张量, 可选) – 输出张量。

示例:

>>> t = torch.randn(1, 3)
>>> t1 = torch.randn(3, 1)
>>> t2 = torch.randn(1, 3)
>>> torch.addcdiv(t, t1, t2, value=0.1)
tensor([[-0.2312, -3.6496,  0.1312],
        [-1.0428,  3.4292, -0.1030],
        [-0.5369, -0.9829,  0.0430]])
优云智算