Compartilhar via


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