PyTorch torch.cdist Funktion
PyTorch torch Referenzhandbuch
torch.cdistEs ist eine Funktion in PyTorch, die zur Berechnung der euklidischen Distanzmatrix zwischen zwei Punktmengen verwendet wird. Sie berechnet die euklidische Distanz zwischen jedem Punkt in der ersten Eingabe und jedem Punkt in der zweiten Eingabe und gibt eine Distanzmatrix zurück.
Funktionsdefinition
torch.cdist(input1, input2, p=2.0, compute_mode='use_mm_for_euclidean_dist')
Anwendungsbeispiel
Beispiel
import torch
# Berechne die euklidische Distanz zwischen zwei Punktmengen
x = torch.tensor([[0, 0], [1, 1], [2, 2]]) # 3 2D-Punkte
y = torch.tensor([[0, 0], [1, 0], [2, 0]]) # 3 2D-Punkte
# Form der Distanzmatrix: (3, 3)
distances = torch.cdist(x, y)
print("Punkt x:")
print(x)
print("Punkt y:")
print(y)
print("Euklidische Distanzmatrix:")
print(distances)
# Verwende einen anderen p-Wert (Manhattan-Distanz p=1)
dist_l1 = torch.cdist(x, y, p=1.0)
print("L1-Distanz (p=1):")
print(dist_l1)
# Verwende p=infinity (Tschebyscheff-Distanz)
dist_inf = torch.cdist(x, y, p=float('inf'))
print("Tschebyscheff-Distanz (p=inf):")
print(dist_inf)
# Berechne die euklidische Distanz zwischen zwei Punktmengen
x = torch.tensor([[0, 0], [1, 1], [2, 2]]) # 3 2D-Punkte
y = torch.tensor([[0, 0], [1, 0], [2, 0]]) # 3 2D-Punkte
# Form der Distanzmatrix: (3, 3)
distances = torch.cdist(x, y)
print("Punkt x:")
print(x)
print("Punkt y:")
print(y)
print("Euklidische Distanzmatrix:")
print(distances)
# Verwende einen anderen p-Wert (Manhattan-Distanz p=1)
dist_l1 = torch.cdist(x, y, p=1.0)
print("L1-Distanz (p=1):")
print(dist_l1)
# Verwende p=infinity (Tschebyscheff-Distanz)
dist_inf = torch.cdist(x, y, p=float('inf'))
print("Tschebyscheff-Distanz (p=inf):")
print(dist_inf)
Andere Erweiterungen