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 |