DML_SPACE_TO_DEPTH_OPERATOR_DESC-Struktur (directml.h)
Ordnet Blöcke räumlicher Daten in die Tiefe neu an. Der Operator gibt eine Kopie des Eingabe tensors aus, in der Werte aus den Dimensionen Höhe und Breite in die Tiefendimension verschoben werden.
Dies ist die umgekehrte Transformation von DML_DEPTH_TO_SPACE_OPERATOR_DESC.
Syntax
struct DML_SPACE_TO_DEPTH_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
UINT BlockSize;
};
Member
InputTensor
Typ: const DML_TENSOR_DESC*
Der Tensor, aus dem gelesen werden soll. Die Dimensionen des Eingabe tensors sind { Batch, Channels, Height, Width }
.
OutputTensor
Typ: const DML_TENSOR_DESC*
Der Tensor, in den die Ergebnisse geschrieben werden sollen. Die Dimensionen des Ausgabe tensors sind { Batch, Channels / (BlockSize * BlockSize), Height * BlockSize, Width * BlockSize }
.
BlockSize
Typ: UINT
Die Breite und Höhe der verschobenen Blöcke.
Beispiel
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]]]]
Hinweise
Eine neuere Version dieses Operators , DML_SPACE_TO_DEPTH1_OPERATOR_DESC, wurde in DML_FEATURE_LEVEL_2_1
eingeführt.
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_1_0
eingeführt.
Tensoreinschränkungen
InputTensor und OutputTensor müssen denselben Datentyp aufweisen.
Tensorunterstützung
DML_FEATURE_LEVEL_5_0 und höher
Tensor | Typ | Dimensionen | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|---|
InputTensor | Eingabe | { BatchCount, InputChannelCount, InputHeight, InputWidth } | 4 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_2_1 und höher
Tensor | Typ | Dimensionen | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|---|
InputTensor | Eingabe | { BatchCount, InputChannelCount, InputHeight, InputWidth } | 4 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_1_0 und höher
Tensor | Typ | Dimensionen | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|---|
InputTensor | Eingabe | { BatchCount, InputChannelCount, InputHeight, InputWidth } | 4 | FLOAT32, FLOAT16 |
OutputTensor | Ausgabe | { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT32, FLOAT16 |
Anforderungen
Kopfzeile | directml.h |