DML_SPACE_TO_DEPTH_OPERATOR_DESC 結構 (directml.h)
將空間資料的區塊重新排列為深度。 運算子會輸出輸入張量複本,其中高度和寬度維度的值會移至深度維度。
這是 DML_DEPTH_TO_SPACE_OPERATOR_DESC的反向轉換。
語法
struct DML_SPACE_TO_DEPTH_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
UINT BlockSize;
};
成員
InputTensor
類型:const DML_TENSOR_DESC*
要從中讀取的張量。 輸入 tensor 的維度為 { Batch, Channels, Height, Width }
。
OutputTensor
類型:const DML_TENSOR_DESC*
要寫入結果的張量。 輸出 tensor 的維度為 { Batch, Channels / (BlockSize * BlockSize), Height * BlockSize, Width * BlockSize }
。
BlockSize
類型: UINT
移動之區塊的寬度和高度。
範例
BlockSize: 2
InputTensor: (Sizes:{1, 2, 4, 6}, DataType:UINT32)
[[[[ 0, 18, 1, 19, 2, 20],
[36, 54, 37, 55, 38, 56],
[ 3, 21, 4, 22, 5, 23],
[39, 57, 40, 58, 41, 59]],
[[ 9, 27, 10, 28, 11, 29],
[45, 63, 46, 64, 47, 65],
[12, 30, 13, 31, 14, 32],
[48, 66, 49, 67, 50, 68]]]]
OutputTensor: (Sizes:{1, 8, 2, 3}, DataType:UINT32)
[[[[0, 1, 2],
[3, 4, 5]],
[[9, 10, 11],
[12, 13, 14]],
[[18, 19, 20],
[21, 22, 23]],
[[27, 28, 29],
[30, 31, 32]],
[[36, 37, 38],
[39, 40, 41]],
[[45, 46, 47],
[48, 49, 50]],
[[54, 55, 56],
[57, 58, 59]],
[[63, 64, 65],
[66, 67, 68]]]]
備註
在 中 DML_FEATURE_LEVEL_2_1
引進了較新版本的這個運算子DML_SPACE_TO_DEPTH1_OPERATOR_DESC。
可用性
這個運算子是在 中 DML_FEATURE_LEVEL_1_0
引進的。
Tensor 條件約束
InputTensor 和 OutputTensor 必須具有相同 的 DataType。
Tensor 支援
DML_FEATURE_LEVEL_5_0和更新版本
張 | 種類 | 維度 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|---|
InputTensor | 輸入 | { BatchCount、InputChannelCount、InputHeight、InputWidth } | 4 | FLOAT64、FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8 |
OutputTensor | 輸出 | { BatchCount、OutputChannelCount、OutputHeight、OutputWidth } | 4 | FLOAT64、FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8 |
DML_FEATURE_LEVEL_2_1和更新版本
張 | 種類 | 維度 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|---|
InputTensor | 輸入 | { BatchCount、InputChannelCount、InputHeight、InputWidth } | 4 | FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8 |
OutputTensor | 輸出 | { BatchCount、OutputChannelCount、OutputHeight、OutputWidth } | 4 | FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8 |
DML_FEATURE_LEVEL_1_0和更新版本
張 | 種類 | 維度 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|---|
InputTensor | 輸入 | { BatchCount、InputChannelCount、InputHeight、InputWidth } | 4 | FLOAT32、FLOAT16 |
OutputTensor | 輸出 | { BatchCount、OutputChannelCount、OutputHeight、OutputWidth } | 4 | FLOAT32、FLOAT16 |
需求
標頭 | directml.h |