距离#

成对距离#

cuvs.distance.pairwise_distance(
X,
Y,
out=None,
metric='euclidean',
p=2.0,
resources=None,
)[source]#

计算 X 和 Y 之间的成对距离

metric 的有效值
[“euclidean”, “l2”, “l1”, “cityblock”, “inner_product”,

“chebyshev”, “canberra”, “lp”, “hellinger”, “jensenshannon”, “kl_divergence”, “russellrao”, “minkowski”, “correlation”, “cosine”]

参数:
X符合 CUDA 数组接口的矩阵,形状为 (m, k)
Y符合 CUDA 数组接口的矩阵,形状为 (n, k)
out可选的可写 CUDA 数组接口矩阵,形状为 (m, n)
metric表示度量类型的字符串 (默认值=”euclidean”)
p度量参数 (目前仅用于 “minkowski”)
resources用于重用 CUDA 资源的 cuVS Resource 可选句柄。

如果未提供 Resources,将在函数内部分配 CUDA 资源并在函数退出前进行同步。如果提供了 Resources,您需要在访问输出前通过调用 resources.sync() 显式地自行同步。

示例

>>> import cupy as cp
>>> from cuvs.distance import pairwise_distance
>>> n_samples = 5000
>>> n_features = 50
>>> in1 = cp.random.random_sample((n_samples, n_features),
...                               dtype=cp.float32)
>>> in2 = cp.random.random_sample((n_samples, n_features),
...                               dtype=cp.float32)
>>> output = pairwise_distance(in1, in2, metric="euclidean")