DML_TILE_OPERATOR_DESC-Struktur (directml.h)
Erstellt einen Ausgabe tensor, indem der Eingabe tensor gekachelt wird. Die Elemente in jeder Dimension des Eingabe-Tensors werden von einem Vielfachen im Repeats-Array wiederholt.
Syntax
struct DML_TILE_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
UINT RepeatsCount;
const UINT *Repeats;
};
Member
InputTensor
Typ: const DML_TENSOR_DESC*
Der Tensor, aus dem gelesen werden soll, der die elemente enthält, die gekachelt werden sollen.
OutputTensor
Typ: const DML_TENSOR_DESC*
Der Tensor, in den geschrieben werden soll, der die gekachelte Ausgabe enthält. Für jede Dimension i
in [0, InputTensor.DimensionCount-1]
wird die Ausgabegröße als OutputTensor.Sizes[i] = InputTensor.Sizes[i] * Repeats[i]
berechnet. Dieser Tensor muss über den gleichen DimensionCount wie der Eingabe tensor verfügen.
RepeatsCount
Typ: UINT
Dieses Feld bestimmt die Größe des Arrays Repeats . Dieser Wert muss mit InputTensor.DimensionCount identisch sein.
Repeats
Typ: const UINT*
Jeder Wert in diesem Array entspricht einer der Dimensionen des Eingabe-Tensors (in der Reihenfolge). Jeder Wert ist die Anzahl der gekachelten Kopien, die von dieser Dimension erstellt werden sollen. Die Werte müssen größer als 0 sein.
Beispiele
RepeatsCount: 4
Repeats: {1, 1, 3, 3}
InputTensor: (Sizes:{1, 1, 2, 3}, DataType:FLOAT32)
[[[[1, 2, 3]
[4, 5, 6]]]]
InputTensor: (Sizes:{1, 1, 6, 9}, DataType:FLOAT32)
[[[[1, 2, 3, 1, 2, 3, 1, 2, 3]
[4, 5, 6, 4, 5, 6, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[4, 5, 6, 4, 5, 6, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[4, 5, 6, 4, 5, 6, 4, 5, 6]]]]
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_1_0
eingeführt.
Tensoreinschränkungen
InputTensor und OutputTensor müssen denselben DataType aufweisen.
Tensorunterstützung
DML_FEATURE_LEVEL_4_1 und höher
Tensor | Typ | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 1 bis 8 | FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 1 bis 8 | FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_3_1 und höher
Tensor | Typ | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 1 bis 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 1 bis 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_2_1 und höher
Tensor | Typ | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 4 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 4 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_1_0 und höher
Tensor | Typ | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 4 | FLOAT32, FLOAT16 |
OutputTensor | Ausgabe | 4 | FLOAT32, FLOAT16 |
Anforderungen
Kopfzeile | directml.h |