評價此頁

torch.sum#

torch.sum(input, *, dtype=None) Tensor#

返回 input 張量中所有元素的和。

引數

input (Tensor) – 輸入張量。

關鍵字引數

dtype (torch.dtype, 可選) – 返回張量的期望資料型別。如果指定,則在執行操作之前將輸入張量轉換為 dtype。這對於防止資料型別溢位很有用。預設為 None。

注意

如果您需要結果為特定張量型別,請使用 dtype 引數。否則,結果型別可能會自動提升(例如,從 torch.int32 提升到 torch.int64)。

示例

>>> a = torch.randn(1, 3)
>>> a
tensor([[ 0.1133, -0.9567,  0.2958]])
>>> torch.sum(a)
tensor(-0.5475)
torch.sum(input, dim, keepdim=False, *, dtype=None) Tensor

返回給定維度 diminput 張量每行的和。如果 dim 是一個維度列表,則將所有這些維度進行規約。

如果 keepdimTrue,則輸出張量的大小與 input 相同,只有在 dim 維度上大小為 1。否則,dim 將被擠壓(參見 torch.squeeze()),導致輸出張量維度減少 1(或 len(dim))個。

引數
  • input (Tensor) – 輸入張量。

  • dim (inttuple of ints, optional) – 要規約的維度或維度。如果為 None,則規約所有維度。

  • keepdim (bool, optional) – 輸出張量是否保留 dim。預設為 False

關鍵字引數

dtype (torch.dtype, 可選) – 返回張量的期望資料型別。如果指定,則在執行操作之前將輸入張量轉換為 dtype。這對於防止資料型別溢位很有用。預設為 None。

示例

>>> a = torch.randn(4, 4)
>>> a
tensor([[ 0.0569, -0.2475,  0.0737, -0.3429],
        [-0.2993,  0.9138,  0.9337, -1.6864],
        [ 0.1132,  0.7892, -0.1003,  0.5688],
        [ 0.3637, -0.9906, -0.4752, -1.5197]])
>>> torch.sum(a, 1)
tensor([-0.4598, -0.1381,  1.3708, -2.6217])
>>> b = torch.arange(4 * 5 * 6).view(4, 5, 6)
>>> torch.sum(b, (2, 1))
tensor([  435.,  1335.,  2235.,  3135.])