DepthToSpace¶
DepthToSpace - 13¶
版本¶
域:
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 in (
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¶
版本¶
域:
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¶
版本¶
域:
main
since_version:
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)
)将输入和输出类型约束为所有张量类型。