Fonction torch.cdist de PyTorch


Pytorch torch 参考手册Manuel de référence Pytorch torch

torch.cdistC'est une fonction de PyTorch utilisée pour calculer la matrice de distance euclidienne entre deux ensembles de points. Elle calcule la distance euclidienne entre chaque point de la première entrée et chaque point de la deuxième entrée, renvoyant une matrice de distances.

Définition de fonction

torch.cdist(input1, input2, p=2.0, compute_mode='use_mm_for_euclidean_dist')

Exemple d'utilisation

Exemple

import torch

# Calculer la distance euclidienne entre deux ensembles de points
x = torch.tensor([[0, 0], [1, 1], [2, 2]])  # 3 points 2D
y = torch.tensor([[0, 0], [1, 0], [2, 0]])  # 3 points 2D

# Forme de la matrice de distances : (3, 3)
distances = torch.cdist(x, y)
print("Point x :")
print(x)
print("Point y :")
print(y)
print("Matrice des distances euclidiennes :")
print(distances)

# Utiliser une valeur de p différente (distance de Manhattan p=1)
dist_l1 = torch.cdist(x, y, p=1.0)
print("Distance L1 (p=1) :")
print(dist_l1)

# Utiliser p=infinity (distance de Chebyshev)
dist_inf = torch.cdist(x, y, p=float('inf'))
print("Distance de Chebyshev (p=inf):")
print(dist_inf)

Pytorch torch 参考手册Manuel de référence Pytorch torch

Autres extensions