文档反馈

问题文档片段

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

提交类型
issue

有点复杂...

找人问问吧。

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

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

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

- 英文中包含中文字符。

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

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

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

易用性

- 易用性:

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

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

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

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

正确性

- 正确性:

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

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

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

- 代码片段错误。

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

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

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

风险提示

- 风险提示:

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

内容合规

- 内容合规:

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

- 内容侵权。

请选择问题类型

问题描述

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

mindspore.ops.MaxUnpool3D

class mindspore.ops.MaxUnpool3D(ksize, strides=0, pads=0, output_shape=(), data_format='NCDHW')[源代码]

mindspore.ops.MaxPool3D 的逆过程。

MaxUnpool3D 在计算逆的过程中,保留最大值位置的元素,并将非最大值位置元素设置为0。 通常情况下,输入数据格式为 (N,C,Din,Hin,Win) , 输出数据的格式为 (N,C,Dout,Hout,Wout) ,计算公式如下:

Dout=(Din1)×strides[0]2×pads[0]+ksize[0]Hout=(Hin1)×strides[1]2×pads[1]+ksize[1]Wout=(Win1)×strides[2]2×pads[2]+ksize[2]

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • ksize (Union[int, tuple[int]]) - 用于取最大值的内核大小, 是一个整数,表示内核的深度、高度和宽度,或一个元组包含三个整数,分别表示深度、高度和宽度。

  • strides (Union[int, tuple[int]],可选) - 内核移动的步长,默认值:0。

    • 一个整数,则表示移动的深度、高度和宽度都是 strides

    • 三个整数的元组,分别表示深度、高度和宽度方向的移动步长。

    • 如果 strides 为0或(0, 0, 0),那么 strides 等于 ksize

  • pads (Union[int, tuple[int]],可选) - 需要被填充的值。默认值:0。

    • 如果 pads 是一个整数,则深度、高度和宽度方向的填充数量相同,都等于 pads

    • 如果 pads 是含三个整数的元组,则深度、高度和宽度方向的填充数量分别等于 pads[0]pads[1]pads[2]

  • output_shape (tuple[int],可选) - 指定目标输出的尺寸。默认值:()。

    • 如果 output_shape==() ,则输出的shape由 ksziestridespads 根据上面的公式计算得到。

    • 如果 output_shape!=() ,则 output_shape 数据格式为 (N,C,D,H,W)(N,D,H,W,C) , 同时 output_shape 必须属于 [(N,C,Doutstrides[0],Houtstrides[1],Woutstrides[2]),(N,C,Dout+strides[0],Hout+strides[1],Wout+strides[2])] 范围。

  • data_format (str,可选) - 可选的数据格式。当前支持 NCDHWNDHWC 。默认值: NCDHW

输入:
  • x (Tensor) - 求逆的输入Tensor。其shape为 (N,C,Din,Hin,Win)(N,Din,Hin,Win,C)

  • argmax (Tensor) - argmax 表示最大值的索引。其shape必须与输入 x 相同。 argmax 的值必须在 [0,Din×Hin×Win1] 范围内,数据类型必须为int32或int64。

输出:

Tensor,其shape为 (N,C,Dout,Hout,Wout)(N,Dout,Hout,Wout,C) , 与 x 的数据类型相同。

异常:
  • TypeError - 如果 xargmax 的数据类型不是Number。

  • TypeError - 如果 ksizestridespads 既不是int又不是tuple。

  • ValueError - 如果 stridesksize 的值是负数。

  • ValueError - 如果 pads 的值是负数。

  • ValueError - 如果 ksizestridespads 是tuple,但长度不是3。

  • ValueError - 如果 data_format 不是值为 “NCDHW” 或 “NDHWC” 的str。

  • ValueError - 如果 output_shape 的长度不是0或5。

  • ValueError - 如果 output_shape 不在由 ksizestridespads 计算出的输出尺寸范围内。

支持平台:

Ascend GPU CPU

样例:

>>> x = Tensor(np.array([[[[[0, 1], [8, 9]]]]]).astype(np.float32))
>>> argmax = Tensor(np.array([[[[[0, 1], [2, 3]]]]]).astype(np.int64))
>>> maxunpool3d = ops.MaxUnpool3D(ksize=1, strides=1, pads=0)
>>> output = maxunpool3d(x, argmax)
>>> print(output.asnumpy())
[[[[[0. 1.]
    [8. 9.]]]]]