Partager via


structure DML_TILE_OPERATOR_DESC (directml.h)

Construit un tenseur de sortie en mosaïquant le tenseur d’entrée. Les éléments de chaque dimension du tenseur d’entrée sont répétés par un multiple dans le tableau Repeats .

Syntaxe

struct DML_TILE_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  RepeatsCount;
  const UINT            *Repeats;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Tenseur à partir duquel lire, qui contient les éléments à vignetter.

OutputTensor

Type : const DML_TENSOR_DESC*

Tenseur dans lequel écrire, qui contient la sortie en mosaïque. Pour chaque dimension i dans [0, InputTensor.DimensionCount-1], la taille de sortie est calculée en tant que OutputTensor.Sizes[i] = InputTensor.Sizes[i] * Repeats[i]. Ce tenseur doit avoir le même DimensionCount que le tenseur d’entrée.

RepeatsCount

Type : UINT

Ce champ détermine la taille du tableau Repeats . Cette valeur doit être identique à inputTensor.DimensionCount.

Repeats

Type : const UINT*

Chaque valeur de ce tableau correspond à l’une des dimensions du tenseur d’entrée (dans l’ordre). Chaque valeur correspond au nombre de copies en mosaïques à créer de cette dimension. Les valeurs doivent être supérieures à 0.

Exemples

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]]]]

Disponibilité

Cet opérateur a été introduit dans DML_FEATURE_LEVEL_1_0.

Contraintes tensoriels

InputTensor et OutputTensor doivent avoir le même DataType.

Prise en charge des tenseurs

DML_FEATURE_LEVEL_4_1 et versions ultérieures

Tenseur Type Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Output 1 à 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_3_1 et versions ultérieures

Tenseur Type Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Output 1 à 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_2_1 et versions ultérieures

Tenseur Type Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Output 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_1_0 et versions ultérieures

Tenseur Type Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 FLOAT32, FLOAT16
OutputTensor Output 4 FLOAT32, FLOAT16

Spécifications

   
En-tête directml.h