struttura DML_UPSAMPLE_2D_OPERATOR_DESC (directml.h)

Esegue il upsamp dell'immagine di input, scrivendo il risultato nel tensore di output. L'ordine delle dimensioni deve essere NCHW (BatchSize, ChannelCount, Height, Width) o NCDHW (BatchSize, ChannelCount, Depth, Height, Width), ma i passi possono essere usati se i dati vengono archiviati in un formato diverso. A differenza di DML_RESAMPLE_OPERATOR_DESC, è possibile eseguire il upsampling solo delle ultime 2 dimensioni (altezza e larghezza).

Se disponibile, è consigliabile preferire DML_RESAMPLE_OPERATOR_DESC poiché si tratta di una versione più flessibile di DML_UPSAMPLE_2D_OPERATOR_DESC.

Sintassi

struct DML_UPSAMPLE_2D_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputTensor;
  const DML_TENSOR_DESC  *OutputTensor;
  DML_SIZE_2D            ScaleSize;
  DML_INTERPOLATION_MODE InterpolationMode;
};

Members

InputTensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente i dati di input. Le dimensioni previste di InputTensor sono { InputBatchCount, InputChannelCount, InputHeight, InputWidth } per 4D e { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth } per 5D.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente i dati di input. Le dimensioni previste di OutputTensor sono { InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale } per 4D e { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale } per 5D.

ScaleSize

Tipo: DML_SIZE_2D

Scala di larghezza e altezza di tipo UINT da applicare durante l'upsampling dell'input. 0 < ScaleSize.Height <= UINT_MAX / InputHeight e 0 < ScaleSize.Width <= UINT_MAX / InputWidth.

InterpolationMode

Tipo: DML_INTERPOLATION_MODE

Questo campo determina il tipo di interpolazione usata per scegliere i pixel di output.

  • DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Usa l'algoritmo Nearest Neighbor , che sceglie l'elemento di input più vicino al centro pixel corrispondente per ogni elemento di output.
  • DML_INTERPOLATION_MODE_LINEAR. Usa l'algoritmo Bilinear , che calcola l'elemento di output eseguendo la media ponderata dei 2 elementi di input adiacenti più vicini nella dimensione height e i 2 elementi di input adiacenti più vicini nella dimensione width, per un totale di 4 elementi. Questo vale anche se DimensionCount di input/output è 5. Ovvero, i campioni vengono calcolati in media solo lungo le dimensioni di larghezza e altezza e mai lungo il batch, il canale o la profondità.

Disponibilità

Questo operatore è stato introdotto in DML_FEATURE_LEVEL_1_0.

Vincoli tensor

InputTensor e OutputTensor devono avere lo stesso Tipo di dati e DimensionCount.

Supporto di Tensor

Tensore Tipo Conteggi delle dimensioni supportati Tipi di dati supportati
InputTensor Input da 4 a 5 FLOAT32, FLOAT16
OutputTensor Output da 4 a 5 FLOAT32, FLOAT16

Requisiti

Requisito Valore
Intestazione directml.h