快捷方式

torch.bucketize

torch.bucketize(input, boundaries, *, out_int32=False, right=False, out=None) Tensor

返回 input 中每個值所屬桶的索引,桶的邊界由 boundaries 設定。返回一個與 input 大小相同的新張量。如果 right 為 False(預設值),則左邊界是開放的。請注意,此行為與 numpy.digitize 的行為相反。更正式地,返回的索引滿足以下規則:

right

返回的索引滿足

False

boundaries[i-1] < input[m][n]...[l][x] <= boundaries[i]

True

boundaries[i-1] <= input[m][n]...[l][x] < boundaries[i]

引數
  • input (TensorScalar) – 包含搜尋值(或多個值)的 N-D 張量或標量。

  • boundaries (Tensor) – 1-D 張量,必須包含嚴格遞增的序列,否則返回值是未定義的。

關鍵字引數
  • out_int32 (bool, 可選) – 指示輸出資料型別。如果為 True 則為 torch.int32,否則為 torch.int64。預設值為 False,即預設輸出資料型別為 torch.int64。

  • right (bool, 可選) – 決定對於 boundaries 中值的行為。請參閱上面的表格。

  • out (Tensor, 可選) – 輸出張量,如果提供,必須與 input 的大小相同。

示例

>>> boundaries = torch.tensor([1, 3, 5, 7, 9])
>>> boundaries
tensor([1, 3, 5, 7, 9])
>>> v = torch.tensor([[3, 6, 9], [3, 6, 9]])
>>> v
tensor([[3, 6, 9],
        [3, 6, 9]])
>>> torch.bucketize(v, boundaries)
tensor([[1, 3, 4],
        [1, 3, 4]])
>>> torch.bucketize(v, boundaries, right=True)
tensor([[2, 3, 5],
        [2, 3, 5]])

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源