DepthToSpace¶
DepthToSpace - 13¶
版本¶
網域:
main
since_version:
13
function:
False
support_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] 的區塊。
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¶
版本¶
網域:
main
since_version:
11
function:
False
support_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] 的區塊。
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
function:
False
support_level:
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)
)將輸入和輸出類型限制為所有張量類型。