Share via


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

Typ: DML_INTERPOLATION_MODE

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_0eingefü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