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 |