struttura DML_SLICE_GRAD_OPERATOR_DESC (directml.h)
Calcola le sfumature backpropagation per Slice (vedere DML_SLICE1_OPERATOR_DESC).
Tenere presente che DML_SLICE1_OPERATOR_DESC estrae una sottoregione di un tensore di input. Dato un inputGradientTensor con le stesse dimensioni dell'output di un DML_SLICE1_OPERATOR_DESC equivalente, questo operatore produce un OutputGradientTensor con le stesse dimensioni dell'input di DML_SLICE1_OPERATOR_DESC. Gli elementi con sezione vengono propagati all'output e tutti gli altri elementi sono impostati su 0.
Si consideri ad esempio un DML_SLICE1_OPERATOR_DESC che estrae gli elementi seguenti da un tensore:
InputTensor OutputTensor
[[a, b, c, d],
[e, f, g, h], Slice [[a, c],
[i, j, k, l], --> [i, k]]
[m, n, o, p]]
Se è stato specificato lo stesso inputWindowOffsets Sizes//Strides dell'esempio precedente, questo operatore eseguirà la trasformazione seguente.
InputGradientTensor OutputGradientTensor
[[a, 0, c, 0],
[[a, c], SliceGrad [0, 0, 0, 0],
[i, k]] --> [i, 0, k, 0],
[0, 0, 0, 0]]
Sintassi
struct DML_SLICE_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
UINT DimensionCount;
const UINT *InputWindowOffsets;
const UINT *InputWindowSizes;
const INT *InputWindowStrides;
};
Members
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensore sfumatura in ingresso. Questo risultato viene in genere ottenuto dall'output di backpropagation di un livello precedente. In genere, questo tensore avrà le stesse dimensioni dell'output del DML_SLICE1_OPERATOR_DESC corrispondente nel passaggio avanti.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensore di output contenente le sfumature backpropagated. In genere, questo tensore avrà le stesse dimensioni dell'input del DML_SLICE1_OPERATOR_DESC corrispondente nel passaggio avanti.
DimensionCount
Tipo: UINT
Numero di elementi nelle matrici InputWindowOffsets, InputWindowSizes e InputWindowStrides . Questo valore deve essere uguale a DimensionCount fornito in InputGradientTensor e OutputGradientTensor.
InputWindowOffsets
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere InputWindowOffsets in DML_SLICE1_OPERATOR_DESC.
InputWindowSizes
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere InputWindowSizes in DML_SLICE1_OPERATOR_DESC.
InputWindowStrides
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere InputWindowStrides in DML_SLICE1_OPERATOR_DESC.
Si noti che a differenza di DML_SLICE1_OPERATOR_DESC, questo operatore richiede passi diversi da zero. Ciò avviene perché con uno stride zero, è ambiguo in relazione al quale l'elemento di input deve essere mappato a ogni elemento di output e pertanto non è possibile eseguire backpropagation. Come DML_SLICE1_OPERATOR_DESC, i passi negativi capovolgono la direzione della finestra di input lungo l'asse.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_3_0
.
Vincoli tensor
InputGradientTensor e OutputGradientTensor devono avere lo stesso DataType e DimensionCount.
Supporto di Tensor
DML_FEATURE_LEVEL_4_1 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputGradientTensor | Input | da 1 a 8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputGradientTensor | Output | da 1 a 8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_3_1 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputGradientTensor | Input | da 1 a 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputGradientTensor | Output | da 1 a 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_3_0 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputGradientTensor | Input | da 4 a 5 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputGradientTensor | Output | da 4 a 5 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | directml.h |