pdist¶
- paddle.pdist(x, p=2.0, name=None):
计算输入形状为 N x M 的 Tensor 中 N 个向量两两组合(pairwise)的 p 范数。
参数¶
x (Tensor) - 输入的 Tensor,形状为 \(N \times M\) 。
p (float, 可选) - 计算每个向量对之间的 p 范数距离的值。默认值为 \(2.0\)。
name (str, 可选) - 具体用法请参见 Name ,一般无需设置,默认值为 None。
返回¶
Tensor,数据类型与输入张量相同,输出的形状为 \(N \times (N-1) \div 2\)。
代码示例¶
>>> import paddle
>>> paddle.seed(2023)
>>> a = paddle.randn([4, 5])
>>> print(a)
Tensor(shape=[4, 5], dtype=float32, place=Place(cpu), stop_gradient=True,
[[ 0.06132207, 1.11349595, 0.41906244, -0.24858207, -1.85169315],
[-1.50370061, 1.73954511, 0.13331604, 1.66359663, -0.55764782],
[-0.59911072, -0.57773495, -1.03176904, -0.33741450, -0.29695082],
[-1.50258386, 0.67233968, -1.07747352, 0.80170447, -0.06695852]])
>>> pdist_out=paddle.pdist(a)
>>> print(pdist_out)
Tensor(shape=[6], dtype=float32, place=Place(cpu), stop_gradient=True,
[2.87295413, 2.79758120, 3.02793980, 3.40844536, 1.89435327, 1.93171620])