距离#
成对距离#
- cuvs.distance.pairwise_distance(
- X,
- Y,
- out=None,
- metric='euclidean',
- p=2.0,
- resources=None,
计算 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")