Share via


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_0eingefü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