Función torch.cdist de PyTorch


Pytorch torch 参考手册Manual de referencia de PyTorch torch

torch.cdistEs una función en PyTorch utilizada para calcular la matriz de distancia euclidiana entre dos conjuntos de puntos. Calcula la distancia euclidiana entre cada punto de la primera entrada y cada punto de la segunda entrada, devolviendo una matriz de distancias.

Definición de la función

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

Ejemplo de uso

Ejemplo

import torch

# Calcular la distancia euclidiana entre dos conjuntos de puntos
x = torch.tensor([[0, 0], [1, 1], [2, 2]])  # 3 puntos 2D
y = torch.tensor([[0, 0], [1, 0], [2, 0]])  # 3 puntos 2D

# Forma de la matriz de distancias: (3, 3)
distances = torch.cdist(x, y)
print("Punto x:")
print(x)
print("Punto y:")
print(y)
print("Matriz de distancia euclidiana:")
print(distances)

# Usar un valor de p diferente (distancia de Manhattan p=1)
dist_l1 = torch.cdist(x, y, p=1.0)
print("Distancia L1 (p=1):")
print(dist_l1)

# Usar p=infinito (distancia de Chebyshev)
dist_inf = torch.cdist(x, y, p=float('inf'))
print("Distancia de Chebyshev (p=inf):")
print(dist_inf)

Pytorch torch 参考手册Manual de referencia de PyTorch torch

Otras extensiones