评价此页

torch.cumprod#

torch.cumprod(input, dim, *, dtype=None, out=None) Tensor#

返回 inputdim 维度上的累积乘积。

例如,如果 input 是一个长度为 N 的向量,则结果也将是一个长度为 N 的向量,其元素为。

yi=x1×x2×x3××xiy_i = x_1 \times x_2\times x_3\times \dots \times x_i
参数
  • input (Tensor) – 输入张量。

  • dim (int) – 要进行操作的维度

关键字参数
  • dtype (torch.dtype, optional) – 返回张量的期望数据类型。如果指定,输入张量将在执行操作之前被转换为 dtype。这有助于防止数据类型溢出。默认为 None。

  • out (Tensor, optional) – 输出张量。

示例

>>> a = torch.randn(10)
>>> a
tensor([ 0.6001,  0.2069, -0.1919,  0.9792,  0.6727,  1.0062,  0.4126,
        -0.2129, -0.4206,  0.1968])
>>> torch.cumprod(a, dim=0)
tensor([ 0.6001,  0.1241, -0.0238, -0.0233, -0.0157, -0.0158, -0.0065,
         0.0014, -0.0006, -0.0001])

>>> a[5] = 0.0
>>> torch.cumprod(a, dim=0)
tensor([ 0.6001,  0.1241, -0.0238, -0.0233, -0.0157, -0.0000, -0.0000,
         0.0000, -0.0000, -0.0000])