mindspore.mint.cdist ===================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/mint/mindspore.mint.func_cdist.rst :alt: 查看源文件 .. py:function:: mindspore.mint.cdist(x1, x2, p=2.0, compute_mode='use_mm_for_euclid_dist_if_necessary') 计算两个Tensor每对行向量之间的p-norm距离。 .. warning:: 这是一个实验性API,后续可能修改或删除。 .. note:: Ascend上支持的输入数据类型为float16和float32。 参数: - **x1** (Tensor) - 输入Tensor,shape为 :math:`(B, P, M)` , :math:`B` 表示0或者正整数。 :math:`B` 维度为0时该维度被忽略,shape为 :math:`(P, M)` 。 - **x2** (Tensor) - 输入Tensor,shape为 :math:`(B, R, M)` ,与 `x1` 的数据类型一致。 - **p** (float,可选) - 计算向量对p-norm距离的P值,P >= 0。默认值: ``2.0`` 。 - **compute_mode** (string,可选) - 指定计算模式。目前设置此参数无效果。默认值: ``'use_mm_for_euclid_dist_if_necessary'`` 。 返回: Tensor,p-范数距离,数据类型与 `x1` 一致,shape为 :math:`(B, P, R)`。 异常: - **TypeError** - `x1` 或 `x2` 不是Tensor。 - **TypeError** - `x1` 或 `x2` 的数据类型不符合上述“说明”中的要求。 - **TypeError** - `p` 不是float32。 - **ValueError** - `p` 是负数。 - **ValueError** - `x1` 与 `x2` 维度不同。 - **ValueError** - `x1` 与 `x2` 的维度既不是2,也不是3。 - **ValueError** - `x1` 和 `x2` 的批次维无法广播。 - **ValueError** - `x1` 和 `x2` 的列数不一样。