當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch bincount用法及代碼示例


本文簡要介紹python語言中 torch.bincount 的用法。

用法:

torch.bincount(input, weights=None, minlength=0) → Tensor

參數

  • input(Tensor) -一維 int 張量

  • weights(Tensor) -可選,輸入張量中每個值的權重。應該與輸入張量大小相同。

  • minlength(int) -可選,最小箱數。應該是非負數。

返回

一個形狀為 Size([max(input) + 1]) 的張量,如果 input 不為空,否則為 Size(0)

返回類型

輸出(Tensor)

計算非負整數數組中每個值的頻率。

bin 的數量(大小 1)比 input 中的最大值大一,除非 input 為空,在這種情況下,結果是大小為 0 的張量。如果指定了 minlength,則 bin 的數量為至少 minlength 並且如果 input 為空,則結果是大小為 minlength 的張量用零填充。如果 n 是位置 i 的值,如果指定了 weights 則為 out[n] += weights[i] ,否則為 out[n] += 1

注意

當給定 CUDA 設備上的張量時,此操作可能會產生不確定的梯度。有關詳細信息,請參閱重現性。

例子:

>>> input = torch.randint(0, 8, (5,), dtype=torch.int64)
>>> weights = torch.linspace(0, 1, steps=5)
>>> input, weights
(tensor([4, 3, 6, 3, 4]),
 tensor([ 0.0000,  0.2500,  0.5000,  0.7500,  1.0000])

>>> torch.bincount(input)
tensor([0, 0, 0, 2, 2, 0, 1])

>>> input.bincount(weights)
tensor([0.0000, 0.0000, 0.0000, 1.0000, 1.0000, 0.0000, 0.5000])

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.bincount。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。