DML_UPSAMPLE_2D_OPERATOR_DESC-Struktur (directml.h)
Upsampelt das Eingabebild, und schreibt das Ergebnis in den Ausgabe tensor. Die Reihenfolge der Dimensionen sollte NCHW (BatchSize, ChannelCount, Height, Width) oder NCDHW (BatchSize, ChannelCount, Depth, Height, Width) sein. Strides können jedoch verwendet werden, wenn die Daten in einem anderen Format gespeichert werden. Im Gegensatz zu DML_RESAMPLE_OPERATOR_DESC können nur die letzten 2 Dimensionen (Höhe und Breite) hochstempelt werden.
Falls verfügbar, sollten Sie DML_RESAMPLE_OPERATOR_DESC bevorzugen, da es sich um eine flexiblere Version von DML_UPSAMPLE_2D_OPERATOR_DESC handelt.
Syntax
struct DML_UPSAMPLE_2D_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
DML_SIZE_2D ScaleSize;
DML_INTERPOLATION_MODE InterpolationMode;
};
Member
InputTensor
Typ: const DML_TENSOR_DESC*
Ein Tensor, der die Eingabedaten enthält. Die erwarteten Dimensionen des InputTensor sind { InputBatchCount, InputChannelCount, InputHeight, InputWidth }
für 4D und { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth }
für 5D.
OutputTensor
Typ: const DML_TENSOR_DESC*
Ein Tensor, der die Eingabedaten enthält. Die erwarteten Dimensionen des OutputTensor sind { InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale }
für 4D und { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale }
für 5D.
ScaleSize
Typ: DML_SIZE_2D
Die Breiten- und Höhenskalen des Typs UINT, die beim Upsampling der Eingabe angewendet werden sollen. 0 < ScaleSize.Height <= UINT_MAX / InputHeight
und 0 < ScaleSize.Width <= UINT_MAX / InputWidth
.
InterpolationMode
Dieses Feld bestimmt die Art der Interpolation, die zum Auswählen von Ausgabepixeln verwendet wird.
- DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Verwendet den Nearest Neighbor-Algorithmus , der das Eingabeelement auswäht, das dem entsprechenden Pixelzentrum für jedes Ausgabeelement am nächsten liegt.
- DML_INTERPOLATION_MODE_LINEAR. Verwendet den bilinearen Algorithmus, der das Ausgabeelement berechnet, indem er den gewichteten Durchschnitt der 2 nächstgelegenen benachbarten Eingabeelemente in der Höhendimension und die 2 nächstgelegenen benachbarten Eingabeelemente in der Breitendimension für insgesamt 4 Elemente berechnet. Dies gilt auch dann, wenn die Ein-/AusgabedimensionCount 5 ist. Das heißt, Stichproben werden immer nur entlang der Breiten- und Höhendimensionen gemittelt, und niemals entlang des Batches, Kanals oder der Tiefe.
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_1_0
eingeführt.
Tensoreinschränkungen
InputTensor und OutputTensor müssen denselben DataType und DimensionCount aufweisen.
Tensorunterstützung
Tensor | Variante | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 4 bis 5 | FLOAT32, FLOAT16 |
OutputTensor | Ausgabe | 4 bis 5 | FLOAT32, FLOAT16 |
Anforderungen
Anforderung | Wert |
---|---|
Header | directml.h |