DML_DEPTH_TO_SPACE_OPERATOR_DESC struttura (directml.h)
Riorganizza i dati (permute) da profondità a blocchi di dati spaziali. L'operatore restituisce una copia del tensore di input in cui i valori della dimensione di profondità vengono spostati in blocchi spaziali alle dimensioni altezza e larghezza.
Si tratta della trasformazione inversa di DML_SPACE_TO_DEPTH_OPERATOR_DESC.
Sintassi
struct DML_DEPTH_TO_SPACE_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
UINT BlockSize;
};
Members
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensore da cui leggere. Le dimensioni del tensore di input sono { BatchCount, InputChannelCount, InputHeight, InputWidth }
.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensor in cui scrivere i risultati. Le dimensioni del tensore di output sono { BatchCount, OutputChannelCount, OutputHeight, OutputWidth }
, dove:
- OutputChannelCount viene calcolato come InputChannelCount/ (BlockSize BlockSize * ).
- OutputHeight viene calcolato come InputHeight * BlockSize.
- OutputWidth viene calcolato come InputWidth * BlockSize.
BlockSize
Tipo: UINT
Larghezza e altezza dei blocchi spostati.
Esempio
BlockSize: 2
InputTensor: (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]]]]
OutputTensor: (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]]]]
Commenti
Una versione più recente di questo operatore, DML_DEPTH_TO_SPACE1_OPERATOR_DESC, è stata introdotta in DML_FEATURE_LEVEL_2_1
.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_1_0
.
Vincoli tensor
InputTensor e OutputTensor devono avere lo stesso Tipo di dati.
Supporto di Tensor
DML_FEATURE_LEVEL_5_0 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { BatchCount, InputChannelCount, InputHeight, InputWidth } | 4 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputTensor | Output | { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_2_1 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { BatchCount, InputChannelCount, InputHeight, InputWidth } | 4 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Output | { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_1_0 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { BatchCount, InputChannelCount, InputHeight, InputWidth } | 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT32, FLOAT16 |
Requisiti
Requisito | Valore |
---|---|
Intestazione | directml.h |