PyTorch torch.cdist Funktion


Pytorch torch 参考手册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)

Pytorch torch 参考手册PyTorch torch Referenzhandbuch

Andere Erweiterungen