最大反池化

最大反池化 - 22

版本

  • 名称: 最大反池化 (GitHub)

  • : main

  • 自版本: 22

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

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

摘要

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

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

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

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

属性

  • kernel_shape - 整数列表(必需)

    每个轴上内核的大小。

  • 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

    必须反池化的输入数据张量。此张量通常是最大池化操作的第一个输出。图像情况下的维度为(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中元素的索引的输入数据张量。此张量通常是最大池化操作的第二个输出。维度必须与输入张量X相同。索引是线性的,即假设按行优先存储将张量视为扁平化的1-D张量时计算得出。此外,线性索引不应考虑填充。因此,索引中的值在[0, N x C x D1 x … x Dn)范围内。

  • output_shape(可选,异构) - T2

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

输出

  • output(异构) - T1

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

类型约束

  • T1 in ( tensor(bfloat16), tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型约束为浮点张量。

  • T2 in ( tensor(int64) )

    将索引张量约束为int64

最大反池化 - 11

版本

  • 名称: 最大反池化 (GitHub)

  • : main

  • 自版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

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

摘要

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

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

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

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

属性

  • kernel_shape - 整数列表(必需)

    每个轴上内核的大小。

  • 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

    必须反池化的输入数据张量。此张量通常是最大池化操作的第一个输出。图像情况下的维度为(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中元素的索引的输入数据张量。此张量通常是最大池化操作的第二个输出。维度必须与输入张量X相同。索引是线性的,即假设按行优先存储将张量视为扁平化的1-D张量时计算得出。此外,线性索引不应考虑填充。因此,索引中的值在[0, N x C x D1 x … x Dn)范围内。

  • output_shape(可选,异构) - T2

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

输出

  • output(异构) - T1

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

类型约束

  • T1 in ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型约束为浮点张量。

  • T2 in ( tensor(int64) )

    将索引张量约束为int64

最大反池化 - 9

版本

  • 名称: 最大反池化 (GitHub)

  • : main

  • 自版本: 9

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

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

摘要

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

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

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

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

属性

  • kernel_shape - 整数列表(必需)

    每个轴上内核的大小。

  • 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

    必须反池化的输入数据张量。此张量通常是最大池化操作的第一个输出。图像情况下的维度为(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中元素的索引的输入数据张量。此张量通常是最大池化操作的第二个输出。维度必须与输入张量X相同。索引是线性的,即假设按行优先存储将张量视为扁平化的1-D张量时计算得出。此外,线性索引不应考虑填充。因此,索引中的值在[0, N x C x D1 x … x Dn)范围内。

  • output_shape(可选,异构) - T2

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

输出

  • output(异构) - T1

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

类型约束

  • T1 in ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型约束为浮点张量。

  • T2 in ( tensor(int64) )

    将索引张量约束为int64