DepthToSpace

DepthToSpace - 13

版本

  • 名称: DepthToSpace (GitHub)

  • : main

  • 自版本: 13

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该版本的算子自 **版本 13** 起可用。

摘要

DepthToSpace 将深度维度的数据重新排列(置换)成空间数据块。这是 SpaceToDepth 的逆变换。更具体地说,此算子输出输入张量的副本,其中深度维度中的值被移动到高度和宽度维度的空间块中。默认情况下,mode = DCR。在 DCR 模式下,输入张量中沿深度维度的元素按以下顺序重新排列:深度、列,然后是行。输出 y 由输入 x 计算如下:

b, c, h, w = x.shape
tmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])
tmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])
y = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])

在 CRD 模式下,输入张量中沿深度维度的元素按以下顺序重新排列:列、行,然后是深度。输出 y 由输入 x 计算如下:

b, c, h, w = x.shape
tmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])
tmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])
y = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])

属性

  • blocksize - INT (必需)

    [blocksize, blocksize] 的块被移动。

  • mode - STRING (默认为 'DCR')

    DCR(默认)表示深度-列-行顺序的重新排列。CRD 表示列-行-深度顺序。

输入

  • input (异构) - T

    输入张量,形状为 [N,C,H,W],其中 N 是批量轴,C 是通道或深度,H 是高度,W 是宽度。

输出

  • output (异构) - T

    输出张量,形状为 [N, C/(blocksize * blocksize), H * blocksize, W * blocksize]。

类型约束

  • T 在以下类型中 ( tensor(bfloat16), tensor(bool), tensor(complex128), tensor(complex64), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) )

    将输入和输出类型限制为所有张量类型。

DepthToSpace - 11

版本

  • 名称: DepthToSpace (GitHub)

  • : main

  • 自版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该版本的算子自 **版本 11** 起可用。

摘要

DepthToSpace 将深度维度的数据重新排列(置换)成空间数据块。这是 SpaceToDepth 的逆变换。更具体地说,此算子输出输入张量的副本,其中深度维度中的值被移动到高度和宽度维度的空间块中。默认情况下,mode = DCR。在 DCR 模式下,输入张量中沿深度维度的元素按以下顺序重新排列:深度、列,然后是行。输出 y 由输入 x 计算如下:

b, c, h, w = x.shape

tmp = np.reshape(x, [b, blocksize, blocksize, c // (blocksize**2), h, w])

tmp = np.transpose(tmp, [0, 3, 4, 1, 5, 2])

y = np.reshape(tmp, [b, c // (blocksize**2), h * blocksize, w * blocksize])

在 CRD 模式下,输入张量中沿深度维度的元素按以下顺序重新排列:列、行,然后是深度。输出 y 由输入 x 计算如下:

b, c, h, w = x.shape

tmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])

tmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])

y = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])

属性

  • blocksize - INT (必需)

    [blocksize, blocksize] 的块被移动。

  • mode - STRING (默认为 'DCR')

    DCR(默认)表示深度-列-行顺序的重新排列。CRD 表示列-行-深度顺序。

输入

  • input (异构) - T

    输入张量,形状为 [N,C,H,W],其中 N 是批量轴,C 是通道或深度,H 是高度,W 是宽度。

输出

  • output (异构) - T

    输出张量,形状为 [N, C/(blocksize * blocksize), H * blocksize, W * blocksize]。

类型约束

  • T 在以下类型中 ( tensor(bool), tensor(complex128), tensor(complex64), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) )

    将输入和输出类型限制为所有张量类型。

DepthToSpace - 1

版本

  • 名称: DepthToSpace (GitHub)

  • : main

  • 自版本: 1

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该版本的算子自 **版本 1** 起可用。

摘要

DepthToSpace 将深度维度的数据重新排列(置换)成空间数据块。这是 SpaceToDepth 的逆变换。更具体地说,此算子输出输入张量的副本,其中深度维度中的值被移动到高度和宽度维度的空间块中。

属性

  • blocksize - INT (必需)

    [blocksize, blocksize] 的块被移动。

输入

  • input (异构) - T

    输入张量,形状为 [N,C,H,W],其中 N 是批量轴,C 是通道或深度,H 是高度,W 是宽度。

输出

  • output (异构) - T

    输出张量,形状为 [N, C/(blocksize * blocksize), H * blocksize, W * blocksize]。

类型约束

  • T 在以下类型中 ( tensor(bool), tensor(complex128), tensor(complex64), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) )

    将输入和输出类型限制为所有张量类型。