Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Calcula gradientes de retropropagação para DML_RESAMPLE2_OPERATOR_DESC.
DML_RESAMPLE2_OPERATOR_DESC redimensiona dimensões arbitrárias do tensor de entrada usando amostragem do vizinho mais próximo ou interpolação bilinear. Dado um InputGradientTensor com os mesmos tamanhos que a saída de um DML_RESAMPLE2_OPERATOR_DESC equivalente, este operador produz um OutputGradientTensor com os mesmos tamanhos que a entrada do DML_RESAMPLE2_OPERATOR_DESC.
Como exemplo, considere um DML_RESAMPLE2_OPERATOR_DESC que executa um dimensionamento de 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 valor 1) contribui para dois elementos na saída; o 1º elemento (com valor 2) contribui para um elemento na saída; e o 2º e 3º elementos (com valores 3 e 4) não contribuem para nenhum elemento da saída.
O DML_RESAMPLE_GRAD1_OPERATOR_DESC correspondente executaria o seguinte:
InputGradientTensor OutputGradientTensor
[4, 5, 6] ResampleGrad [[9, 6],
--> [0, 0]]
Observe que os valores no OutputGradientTensor representam as contribuições ponderadas desse elemento para o OutputTensor durante o operador DML_RESAMPLE2_OPERATOR_DESC original.
Importante
Essa API está disponível como parte do pacote redistribuível autônomo do DirectML (consulte Microsoft.AI.DirectML versão 1.9 e posterior. Consulte também o histórico de versões do DirectML.
Sintaxe
struct DML_RESAMPLE_GRAD1_OPERATOR_DESC
{
const DML_TENSOR_DESC* InputGradientTensor;
const DML_TENSOR_DESC* OutputGradientTensor;
DML_INTERPOLATION_MODE InterpolationMode;
DML_AXIS_DIRECTION RoundingDirection;
UINT DimensionCount;
_Field_size_(DimensionCount) const FLOAT* Scales;
_Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
_Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
};
Membros
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
O tensor de gradiente de entrada. Isso normalmente é obtido a partir da saída de retropropagação de uma camada anterior. Normalmente, este tensor teria os mesmos tamanhos que a saída do DML_RESAMPLE2_OPERATOR_DESC correspondente no passe para a frente.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Um tensor de saída que contém os gradientes retropropagados. Normalmente, este tensor teria os mesmos tamanhos que a entrada do DML_RESAMPLE2_OPERATOR_DESC correspondente no passe para a frente.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
Veja DML_RESAMPLE2_OPERATOR_DESC::InterpolationMode.
RoundingDirection
Tipo: DML_AXIS_DIRECTION
Veja DML_RESAMPLE2_OPERATOR_DESC::RoundingDirection.
DimensionCount
Tipo: UINT
O número de elementos nas matrizes Scales, InputPixelOffsets e OutputPixelOffsets . Esse valor deve ser igual ao DimensionCount fornecido no InputGradientTensor e OutputGradientTensor.
Scales
Tipo: _Field_size_(DimensionCount) const FLOAT*
Veja DML_RESAMPLE2_OPERATOR_DESC::Escalas.
InputPixelOffsets
Tipo: _Field_size_(DimensionCount) const FLOAT*
Consulte DML_RESAMPLE2_OPERATOR_DESC::InputPixelOffsets.
OutputPixelOffsets
Tipo: _Field_size_(DimensionCount) const FLOAT*
Consulte DML_RESAMPLE2_OPERATOR_DESC::OutputPixelOffsets.
Observações
Este operador é equivalente a DML_RESAMPLE_GRAD_OPERATOR_DESC quando InterpolationMode está definido como DML_INTERPOLATION_MODE_LINEAR; ou quando InterpolationMode é definido como DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR e RoundingDirection para DML_AXIS_DIRECTION_DECREASING, e OutputPixelOffsets são ajustados um adicional -0,5.
Disponibilidade
Este operador foi introduzido em DML_FEATURE_LEVEL_5_1.
Restrições de tensores
InputGradientTensor e OutputGradientTensor devem ter o mesmo DataType e DimensionCount.
Suporte tensor
| Tensor | Amável | Contagens de dimensões suportadas | Tipos de dados suportados |
|---|---|---|---|
| InputGradientTensor | Entrada | 1 a 4 anos | FLOAT32, FLOAT16 |
| OutputGradientTensor | Resultado | 1 a 4 anos | FLOAT32, FLOAT16 |
Requerimentos
| Cabeçalho | DirectML.H |