DepthToSpace

DepthToSpace - 13

版本

  • 名稱DepthToSpace (GitHub)

  • 網域main

  • since_version13

  • functionFalse

  • support_levelSupportType.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

  • since_version11

  • functionFalse

  • support_levelSupportType.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

  • since_version1

  • functionFalse

  • support_levelSupportType.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) )

    將輸入和輸出類型限制為所有張量類型。