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


Python PyTorch cdist用法及代碼示例


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

用法:

torch.cdist(x1, x2, p=2.0, compute_mode='use_mm_for_euclid_dist_if_necessary')

參數

  • x1(Tensor) -形狀為 的輸入張量。

  • x2(Tensor) -形狀為 的輸入張量。

  • p-要計算每個向量對之間的 p-norm 距離的 p 值

  • compute_mode-‘use_mm_for_euclid_dist_if_necessary’ - 如果 P > 25 或 R > 25,將使用矩陣乘法方法計算歐幾裏德距離 (p = 2) ‘use_mm_for_euclid_dist’ - 將始終使用矩陣乘法方法計算歐幾裏德距離 (p = 2) ‘donot_use_mm_for_euclid_dist’ - 將切勿使用矩陣乘法方法計算歐幾裏得距離 (p = 2) 默認值:use_mm_for_euclid_dist_if_necessary。

計算兩個行向量集合的每對之間的 p-norm 距離。

如果 x1 的形狀為 而 x2 的形狀為 ,則輸出的形狀為

此函數等效於 scipy.spatial.distance.cdist(input,’minkowski’, p=p) if 。當 等效於 scipy.spatial.distance.cdist(input, ‘hamming’) * M 。當 時,最接近的 scipy 函數是 scipy.spatial.distance.cdist(xn, lambda x, y: np.abs(x - y).max())

示例

>>> a = torch.tensor([[0.9041,  0.0196], [-0.3108, -2.4423], [-0.4821,  1.059]])
>>> a
tensor([[ 0.9041,  0.0196],
        [-0.3108, -2.4423],
        [-0.4821,  1.0590]])
>>> b = torch.tensor([[-2.1763, -0.4713], [-0.6986,  1.3702]])
>>> b
tensor([[-2.1763, -0.4713],
        [-0.6986,  1.3702]])
>>> torch.cdist(a, b, p=2)
tensor([[3.1193, 2.0959],
        [2.7138, 3.8322],
        [2.2830, 0.3791]])

相關用法


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