深度到空间¶
DepthToSpace - 13¶
版本¶
域名:
mainsince_version:
13函数:
Falsesupport_level:
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] 的块。
模式 - 字符串 (默认是
'DCR'):DCR(默认)用于深度-列-行顺序重新排列。使用CRD用于列-行-深度顺序。
输入¶
输入 (异构) - T:
输入张量为[N,C,H,W],其中N是批次轴,C是通道或深度,H是高度,W是宽度。
输出¶
输出 (异构) - 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¶
版本¶
域名:
mainsince_version:
11函数:
Falsesupport_level:
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] 的块。
模式 - 字符串 (默认是
'DCR'):DCR(默认)用于深度-列-行顺序重新排列。使用CRD用于列-行-深度顺序。
输入¶
输入 (异构) - T:
输入张量为[N,C,H,W],其中N是批次轴,C是通道或深度,H是高度,W是宽度。
输出¶
输出 (异构) - 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¶
版本¶
域名:
mainsince_version:
1函数:
Falsesupport_level:
SupportType.COMMON形状推断:
True
此版本的运算符自版本1起可用。
总结¶
DepthToSpace 将深度数据重新排列(置换)为空间数据块。 这是 SpaceToDepth 的逆变换。更具体地说,此操作输出输入张量的副本,其中深度维度的值被移动到高度和宽度维度的空间块中。
属性¶
blocksize - INT (必填) :
移动大小为 [blocksize, blocksize] 的块。
输入¶
输入 (异构) - T:
输入张量为[N,C,H,W],其中N是批次轴,C是通道或深度,H是高度,W是宽度。
输出¶
输出 (异构) - 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)):将输入和输出类型限制为所有张量类型。