文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

mindspore.train.HausdorffDistance

class mindspore.train.HausdorffDistance(distance_metric='euclidean', percentile=None, directed=False, crop=True)[源代码]

计算Hausdorff距离。Hausdorff距离是两个点集之间两点的最小距离的最大值,度量了两个点集间的最大不匹配程度。

给定两个集合A和B,A和B之间的Hausdorff距离定义如下:

H(A,B)=max[h(A,B),h(B,A)]h(A,B)=maxaA{minbBab}h(B,A)=maxbB{minaAba}

其中 h(A,B) 表示,对A中的每个点a找到B集合里的最近点,这些最短距离的最大值为从A到B的单向Hausdorff距离,同理,h(B,A) 为集合B到集合A中最近点的最大距离。Hausdoff距离是有方向性的,通常情况下 h(A,B) 不等于 h(B,A)H(A,B) 为双向Hausdorff距离。

参数:
  • distance_metric (string) - 支持如下三种距离计算方法: "euclidean" (欧式距离)、 "chessboard" (棋盘距离、切比雪夫距离) 或 "taxicab" (出租车距离、曼哈顿距离)。默认值: "euclidean"

  • percentile (float) - 0到100之间的浮点数。指定最终返回的Hausdorff距离的百分位数。默认值: None

  • directed (bool) - 如果为True,为单向Hausdorff距离,只计算h(y_pred, y)距离;如果为False,为双向Hausdorff距离,计算max(h(y_pred, y), h(y, y_pred))。默认值: False

  • crop (bool) - 是否裁剪输入图像,仅保留目标区域。为了保证y_pred和y的shape匹配,使用(y_pred | y),即两图像的并集来确定bounding box。默认值: True

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore.train import HausdorffDistance
>>>
>>> x = Tensor(np.array([[3, 0, 1], [1, 3, 0], [1, 0, 2]]))
>>> y = Tensor(np.array([[0, 2, 1], [1, 2, 1], [0, 0, 1]]))
>>> metric = HausdorffDistance()
>>> metric.clear()
>>> metric.update(x, y, 0)
>>> mean_average_distance = metric.eval()
>>> print(mean_average_distance)
1.4142135623730951
clear()[源代码]

内部评估结果清零。

eval()[源代码]

计算定向或非定向Hausdorff距离。

返回:

numpy.float64,计算得到的Hausdorff距离。

异常:
  • RuntimeError - 如果没有先调用update方法。

update(*inputs)[源代码]

使用 y_predylabel_idx 更新内部评估结果。

参数:
  • inputs - y_predylabel_idxy_predy 为Tensor, list或numpy.ndarray, y_pred 是预测的二值图像, y 是实际的二值图像。 label_idx 的数据类型为int或float,表示像素点的类别值。

异常:
  • ValueError - 输入的数量不等于3。

  • TypeError - label_idx 的数据类型不是int或float。

  • ValueError - label_idx 的值不在y_pred或y中。

  • ValueError - y_pred 和 y 的shape不同。