Condividi tramite


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