Fonction torch.cdist de PyTorch
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)
# 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)
Autres extensions