estrutura DML_UPSAMPLE_2D_OPERATOR_DESC (directml.h)
Aumenta a imagem de entrada, gravando o resultado no tensor de saída. A ordem das dimensões deve ser NCHW (BatchSize, ChannelCount, Height, Width) ou NCDHW (BatchSize, ChannelCount, Depth, Height, Width), mas os passos poderão ser usados se os dados forem armazenados em um formato diferente. Ao contrário DML_RESAMPLE_OPERATOR_DESC, somente as duas últimas dimensões (altura e largura) podem ser upsampled.
Se disponível, você deve preferir DML_RESAMPLE_OPERATOR_DESC já que é uma versão mais flexível do DML_UPSAMPLE_2D_OPERATOR_DESC.
Sintaxe
struct DML_UPSAMPLE_2D_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
DML_SIZE_2D ScaleSize;
DML_INTERPOLATION_MODE InterpolationMode;
};
Membros
InputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de entrada. As dimensões esperadas do InputTensor são { InputBatchCount, InputChannelCount, InputHeight, InputWidth }
para 4D e { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth }
para 5D.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de entrada. As dimensões esperadas do OutputTensor são { InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale }
para 4D e { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale }
para 5D.
ScaleSize
Tipo: DML_SIZE_2D
As escalas de largura e altura do tipo UINT a serem aplicadas ao aumentar a entrada. 0 < ScaleSize.Height <= UINT_MAX / InputHeight
e 0 < ScaleSize.Width <= UINT_MAX / InputWidth
.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
Esse campo determina o tipo de interpolação usado para escolher pixels de saída.
- DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Usa o algoritmo Vizinho Mais Próximo , que escolhe o elemento de entrada mais próximo do centro de pixel correspondente para cada elemento de saída.
- DML_INTERPOLATION_MODE_LINEAR. Usa o algoritmo Bilinear , que calcula o elemento de saída fazendo a média ponderada dos 2 elementos de entrada vizinhos mais próximos na dimensão de altura e os 2 elementos de entrada vizinhos mais próximos na dimensão de largura, para um total de 4 elementos. Isso é verdadeiro mesmo se a DimensionCount de entrada/saída for 5. Ou seja, as amostras só são médias ao longo das dimensões de largura e altura e nunca ao longo do lote, canal ou profundidade.
Disponibilidade
Esse operador foi introduzido em DML_FEATURE_LEVEL_1_0
.
Restrições do Tensor
InputTensor e OutputTensor devem ter os mesmos DataType e DimensionCount.
Suporte ao Tensor
Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
---|---|---|---|
InputTensor | Entrada | 4 a 5 | FLOAT32, FLOAT16 |
OutputTensor | Saída | 4 a 5 | FLOAT32, FLOAT16 |
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | directml.h |