estrutura DML_RESAMPLE_GRAD_OPERATOR_DESC (directml.h)
Calcula gradientes de backpropagation para Resample (consulte DML_RESAMPLE1_OPERATOR_DESC).
DML_RESAMPLE1_OPERATOR_DESC redimensiona dimensões arbitrárias do tensor de entrada usando amostragem de vizinho mais próximo ou interpolação bilinear. Dado um InputGradientTensor com os mesmos tamanhos que a saída de um DML_RESAMPLE1_OPERATOR_DESC equivalente, esse operador produz um OutputGradientTensor com os mesmos tamanhos que a entrada do DML_RESAMPLE1_OPERATOR_DESC.
Por exemplo, considere uma DML_RESAMPLE1_OPERATOR_DESC que executa um dimensionamento vizinho mais próximo de 1,5x na largura e 0,5x na altura.
InputTensor OutputTensor
[[1, 2], Resample [1, 1, 2]
[3, 4]] -->
Observe como o 0º elemento do tensor de entrada (com o valor 1) contribui para dois elementos na saída, o 1º elemento (com o valor 2) contribui para um elemento na saída e os 2º e 3º elementos (com os valores 3 e 4) contribuem para nenhum elemento da saída.
O DML_RESAMPLE_GRAD_OPERATOR_DESC correspondente executaria o seguinte.
InputGradientTensor OutputGradientTensor
[4, 5, 6] ResampleGrad [[9, 6],
--> [0, 0]]
Observe que os valores no OutputGradientTensor representam o contribuições ponderado desse elemento para o OutputTensor durante o operador de DML_RESAMPLE1_OPERATOR_DESC original.
Sintaxe
struct DML_RESAMPLE_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
DML_INTERPOLATION_MODE InterpolationMode;
UINT DimensionCount;
const FLOAT *Scales;
const FLOAT *InputPixelOffsets;
const FLOAT *OutputPixelOffsets;
};
Membros
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
O tensor de gradiente de entrada. Normalmente, isso é obtido da saída de backpropagation de uma camada anterior. Normalmente, esse tensor teria os mesmos tamanhos que a saída do DML_RESAMPLE1_OPERATOR_DESC correspondente no passe para frente.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Um tensor de saída que contém os gradientes backpropagated. Normalmente, esse tensor teria os mesmos tamanhos que a entrada do DML_RESAMPLE1_OPERATOR_DESC correspondente no passe para frente.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
Consulte InterpolationMode em DML_RESAMPLE1_OPERATOR_DESC.
DimensionCount
Tipo: UINT
O número de elementos nas matrizes Scales, InputPixelOffsets e OutputPixelOffsets . Esse valor deve ser igual ao DimensionCount fornecido em InputGradientTensor e OutputGradientTensor.
Scales
Tipo: _Field_size_(DimensionCount) const FLOAT*
Confira Dimensionamentos em DML_RESAMPLE1_OPERATOR_DESC.
InputPixelOffsets
Tipo: _Field_size_(DimensionCount) const FLOAT*
Confira InputPixelOffsets no DML_RESAMPLE1_OPERATOR_DESC.
OutputPixelOffsets
Tipo: _Field_size_(DimensionCount) const FLOAT*
Consulte OutputPixelOffsets em DML_RESAMPLE1_OPERATOR_DESC.
Disponibilidade
Esse operador foi introduzido no DML_FEATURE_LEVEL_3_0
.
Restrições do Tensor
InputGradientTensor e OutputGradientTensor devem ter os mesmos DataType e DimensionCount.
Suporte ao Tensor
DML_FEATURE_LEVEL_5_1 e superior
Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
---|---|---|---|
InputGradientTensor | Entrada | 1 a 4 | FLOAT32, FLOAT16 |
OutputGradientTensor | Saída | 1 a 4 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_3_0 e superior
Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
---|---|---|---|
InputGradientTensor | Entrada | 4 | FLOAT32, FLOAT16 |
OutputGradientTensor | Saída | 4 | FLOAT32, FLOAT16 |
Requisitos
Cliente mínimo com suporte | Windows 10 Build 20348 |
Servidor mínimo com suporte | Windows 10 Build 20348 |
Cabeçalho | directml.h |