当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。