MaxUnpool

MaxUnpool - 22

版本

  • 名称: MaxUnpool (GitHub)

  • : main

  • 起始版本: 22

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自 版本 22 起可用。

摘要

MaxUnpool 本质上计算 MaxPool 运算符的部分逆运算。此运算符的输入信息通常是 MaxPool 运算符的输出信息。第一个输入张量 X 是需要进行反池化的张量,通常是 MaxPool 的池化张量(第一个输出)。第二个输入张量 I 包含与第一个输入张量 X 中的元素对应的(局部最大)元素的索引。输入张量 I 通常是 MaxPool 运算符的第二个输出。第三个(可选)输入是指定反池化操作输出大小的张量。

MaxUnpool 旨在执行 MaxPool 运算符的“部分”逆运算。“部分”是因为 MaxPool 原始输入中的所有非最大值在 MaxUnpool 运算符的输出中都设置为零。对反池化操作的结果进行池化应该会返回反池化操作的原始输入。

MaxUnpool 可以为不同的输入大小生成相同的输出大小,这使得反池化操作变得模糊。第三个输入参数 output_size 旨在消除操作的歧义并生成已知/可预测大小的输出张量。

除了输入之外,MaxUnpool 还接受三个属性,即 kernel_shape、strides 和 pads,它们定义了精确的反池化操作。这些属性通常与反池化操作试图反转的相应池化操作具有相同的值。

属性

  • kernel_shape - INTS (必需)

    沿每个轴的核大小。

  • pads - 整数 :

    沿每个空间轴的开始和结束处的填充,可以取任何大于或等于 0 的值。该值表示添加到相应轴的开始和结束部分的像素数。pads 格式应如下所示 [x1_begin, x2_begin…x1_end, x2_end,…], 其中 xi_begin 是在轴 i 的开始处添加的像素数,xi_end 是在轴 i 的结束处添加的像素数。此属性不能与 auto_pad 属性同时使用。如果不存在,则每个空间轴的开始和结束处的填充默认为 0。

  • strides - 整数 :

    沿每个空间轴的步长。如果不存在,步长默认为沿每个空间轴的 1。

输入

2 到 3 个输入之间。

  • X (异构) - T1

    需要进行反池化的输入数据张量。此张量通常是 MaxPool 运算符的第一个输出。图像情况下的维度为 (N x C x H x W),其中 N 是批次大小,C 是通道数,H 和 W 是数据的高度和宽度。对于非图像情况,维度形式为 (N x C x D1 x D2 … Dn),其中 N 是批次大小。可选地,如果维度表示生效,则操作期望输入数据张量具有 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …] 的维度表示。

  • I (异构) - T2

    包含与第一个输入张量 X 中的元素对应的索引的输入数据张量。此张量通常是 MaxPool 运算符的第二个输出。维度必须与输入张量 X 相同。索引是线性的,即在将张量视为扁平 1-D 张量并假设行主存储的情况下计算。此外,线性索引不应考虑填充。因此,索引中的值在 [0, N x C x D1 x … x Dn) 范围内。

  • output_shape (可选, 异构) - T2

    输出的形状可以显式设置,这将导致自动生成填充值。如果指定了“output_shape”,则“pads”值将被忽略。

输出

  • output (异构) - T1

    包含反池化结果的输出数据张量。

类型约束

  • T1 在 ( tensor(bfloat16), tensor(double), tensor(float), tensor(float16) ) 中

    将输入和输出类型限制为浮点张量。

  • T2 包含 ( tensor(int64) )

    将索引张量限制为 int64

MaxUnpool - 11

版本

  • 名称: MaxUnpool (GitHub)

  • : main

  • 起始版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自 版本 11 起可用。

摘要

MaxUnpool 本质上计算 MaxPool 运算符的部分逆运算。此运算符的输入信息通常是 MaxPool 运算符的输出信息。第一个输入张量 X 是需要进行反池化的张量,通常是 MaxPool 的池化张量(第一个输出)。第二个输入张量 I 包含与第一个输入张量 X 中的元素对应的(局部最大)元素的索引。输入张量 I 通常是 MaxPool 运算符的第二个输出。第三个(可选)输入是指定反池化操作输出大小的张量。

MaxUnpool 旨在执行 MaxPool 运算符的“部分”逆运算。“部分”是因为 MaxPool 原始输入中的所有非最大值在 MaxUnpool 运算符的输出中都设置为零。对反池化操作的结果进行池化应该会返回反池化操作的原始输入。

MaxUnpool 可以为不同的输入大小生成相同的输出大小,这使得反池化操作变得模糊。第三个输入参数 output_size 旨在消除操作的歧义并生成已知/可预测大小的输出张量。

除了输入之外,MaxUnpool 还接受三个属性,即 kernel_shape、strides 和 pads,它们定义了精确的反池化操作。这些属性通常与反池化操作试图反转的相应池化操作具有相同的值。

属性

  • kernel_shape - INTS (必需)

    沿每个轴的核大小。

  • pads - 整数 :

    沿每个空间轴的开始和结束处的填充,可以取任何大于或等于 0 的值。该值表示添加到相应轴的开始和结束部分的像素数。pads 格式应如下所示 [x1_begin, x2_begin…x1_end, x2_end,…], 其中 xi_begin 是在轴 i 的开始处添加的像素数,xi_end 是在轴 i 的结束处添加的像素数。此属性不能与 auto_pad 属性同时使用。如果不存在,则每个空间轴的开始和结束处的填充默认为 0。

  • strides - 整数 :

    沿每个空间轴的步长。如果不存在,步长默认为沿每个空间轴的 1。

输入

2 到 3 个输入之间。

  • X (异构) - T1

    需要进行反池化的输入数据张量。此张量通常是 MaxPool 运算符的第一个输出。图像情况下的维度为 (N x C x H x W),其中 N 是批次大小,C 是通道数,H 和 W 是数据的高度和宽度。对于非图像情况,维度形式为 (N x C x D1 x D2 … Dn),其中 N 是批次大小。可选地,如果维度表示生效,则操作期望输入数据张量具有 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …] 的维度表示。

  • I (异构) - T2

    包含与第一个输入张量 X 中的元素对应的索引的输入数据张量。此张量通常是 MaxPool 运算符的第二个输出。维度必须与输入张量 X 相同。索引是线性的,即在将张量视为扁平 1-D 张量并假设行主存储的情况下计算。此外,线性索引不应考虑填充。因此,索引中的值在 [0, N x C x D1 x … x Dn) 范围内。

  • output_shape (可选, 异构) - T2

    输出的形状可以显式设置,这将导致自动生成填充值。如果指定了“output_shape”,则“pads”值将被忽略。

输出

  • output (异构) - T1

    包含反池化结果的输出数据张量。

类型约束

  • T1 在 ( tensor(double), tensor(float), tensor(float16) ) 中

    将输入和输出类型限制为浮点张量。

  • T2 包含 ( tensor(int64) )

    将索引张量限制为 int64

MaxUnpool - 9

版本

  • 名称: MaxUnpool (GitHub)

  • : main

  • 起始版本: 9

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自 版本 9 起可用。

摘要

MaxUnpool 本质上计算 MaxPool 运算符的部分逆运算。此运算符的输入信息通常是 MaxPool 运算符的输出信息。第一个输入张量 X 是需要进行反池化的张量,通常是 MaxPool 的池化张量(第一个输出)。第二个输入张量 I 包含与第一个输入张量 X 中的元素对应的(局部最大)元素的索引。输入张量 I 通常是 MaxPool 运算符的第二个输出。第三个(可选)输入是指定反池化操作输出大小的张量。

MaxUnpool 旨在执行 MaxPool 运算符的“部分”逆运算。“部分”是因为 MaxPool 原始输入中的所有非最大值在 MaxUnpool 运算符的输出中都设置为零。对反池化操作的结果进行池化应该会返回反池化操作的原始输入。

MaxUnpool 可以为不同的输入大小生成相同的输出大小,这使得反池化操作变得模糊。第三个输入参数 output_size 旨在消除操作的歧义并生成已知/可预测大小的输出张量。

除了输入之外,MaxUnpool 还接受三个属性,即 kernel_shape、strides 和 pads,它们定义了精确的反池化操作。这些属性通常与反池化操作试图反转的相应池化操作具有相同的值。

属性

  • kernel_shape - INTS (必需)

    沿每个轴的核大小。

  • pads - 整数 :

    沿每个空间轴的开始和结束处的填充,可以取任何大于或等于 0 的值。该值表示添加到相应轴的开始和结束部分的像素数。pads 格式应如下所示 [x1_begin, x2_begin…x1_end, x2_end,…], 其中 xi_begin 是在轴 i 的开始处添加的像素数,xi_end 是在轴 i 的结束处添加的像素数。此属性不能与 auto_pad 属性同时使用。如果不存在,则每个空间轴的开始和结束处的填充默认为 0。

  • strides - 整数 :

    沿每个空间轴的步幅。

输入

2 到 3 个输入之间。

  • X (异构) - T1

    需要进行反池化的输入数据张量。此张量通常是 MaxPool 运算符的第一个输出。图像情况下的维度为 (N x C x H x W),其中 N 是批次大小,C 是通道数,H 和 W 是数据的高度和宽度。对于非图像情况,维度形式为 (N x C x D1 x D2 … Dn),其中 N 是批次大小。可选地,如果维度表示生效,则操作期望输入数据张量具有 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …] 的维度表示。

  • I (异构) - T2

    包含与第一个输入张量 X 中的元素对应的索引的输入数据张量。此张量通常是 MaxPool 运算符的第二个输出。维度必须与输入张量 X 相同。索引是线性的,即在将张量视为扁平 1-D 张量并假设行主存储的情况下计算。此外,线性索引不应考虑填充。因此,索引中的值在 [0, N x C x D1 x … x Dn) 范围内。

  • output_shape (可选, 异构) - T2

    输出的形状可以显式设置,这将导致自动生成填充值。如果指定了“output_shape”,则“pads”值将被忽略。

输出

  • output (异构) - T1

    包含反池化结果的输出数据张量。

类型约束

  • T1 在 ( tensor(double), tensor(float), tensor(float16) ) 中

    将输入和输出类型限制为浮点张量。

  • T2 包含 ( tensor(int64) )

    将索引张量限制为 int64