Freigeben über


DML_RESAMPLE_GRAD1_OPERATOR_DESC Struktur (directml.h)

Berechnet Hintergrundeigenschaftenverläufe für DML_RESAMPLE2_OPERATOR_DESC.

DML_RESAMPLE2_OPERATOR_DESC verschleinern beliebige Dimensionen des Eingabe-Tensors unter Verwendung der nächstnächstliegenden Sampling- oder bilinearen Interpolation. Bei einem InputGradientTensor mit den gleichen Größen wie die Ausgabe eines entsprechenden DML_RESAMPLE2_OPERATOR_DESC erzeugt dieser Operator einen OutputGradientTensor mit den gleichen Größen wie die Eingabe des DML_RESAMPLE2_OPERATOR_DESC.

Betrachten Sie als Beispiel eine DML_RESAMPLE2_OPERATOR_DESC , die eine nächste Nachbarskalierung von 1,5x in der Breite und 0,5x in der Höhe ausführt:

InputTensor           OutputTensor
[[1, 2],   Resample    [1, 1, 2]
 [3, 4]]      -->      

Beachten Sie, dass das 0. Element des Eingabe-Tensors (mit Wert 1) zu zwei Elementen in der Ausgabe beiträgt; das 1. Element (mit Wert 2) trägt zu einem Element in der Ausgabe bei; und die 2. und 3. Elemente (mit den Werten 3 und 4) tragen nicht zu Elementen der Ausgabe bei.

Die entsprechende DML_RESAMPLE_GRAD1_OPERATOR_DESC würde Folgendes ausführen:

InputGradientTensor           OutputGradientTensor
    [4, 5, 6]      ResampleGrad    [[9, 6],
                       -->          [0, 0]]

Beachten Sie, dass die Werte im OutputGradientTensor während des ursprünglichen DML_RESAMPLE2_OPERATOR_DESC Operators die gewichteten Beiträge dieses Elements an den OutputTensor darstellen.

Von Bedeutung

Diese API ist als Teil des eigenständigen Redistributable-Pakets von DirectML verfügbar (siehe Microsoft.AI.DirectML , Version 1.9 und höher). Siehe auch den DirectML-Versionsverlauf.

Syntax

struct DML_RESAMPLE_GRAD1_OPERATOR_DESC
{
    const DML_TENSOR_DESC* InputGradientTensor;
    const DML_TENSOR_DESC* OutputGradientTensor;
    DML_INTERPOLATION_MODE InterpolationMode;
    DML_AXIS_DIRECTION RoundingDirection;
    UINT DimensionCount;
    _Field_size_(DimensionCount) const FLOAT* Scales;
    _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
    _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
};

Elemente

InputGradientTensor

Typ: const DML_TENSOR_DESC*

Der eingehende Farbverlaufs-Tensor. Dies wird in der Regel aus der Ausgabe der Backpropagation einer vorherigen Ebene abgerufen. In der Regel hat dieser Tensor die gleichen Größen wie die Ausgabe der entsprechenden DML_RESAMPLE2_OPERATOR_DESC im Vorwärtsdurchlauf.

OutputGradientTensor

Typ: const DML_TENSOR_DESC*

Ein Ausgabe-Tensor, der die umgekehrten Farbverläufe enthält. In der Regel hat dieser Tensor die gleichen Größen wie die Eingabe der entsprechenden DML_RESAMPLE2_OPERATOR_DESC im Vorwärtsdurchlauf.

InterpolationMode

Typ: DML_INTERPOLATION_MODE

Siehe DML_RESAMPLE2_OPERATOR_DESC::InterpolationMode.

RoundingDirection

Typ: DML_AXIS_DIRECTION

Siehe DML_RESAMPLE2_OPERATOR_DESC::RoundingDirection.

DimensionCount

Typ: UINT

Die Anzahl der Elemente in den Arrays Scales, InputPixelOffsets und OutputPixelOffsets . Dieser Wert muss dem DimensionCount entsprechen, der im InputGradientTensor und OutputGradientTensor bereitgestellt wird.

Scales

Typ: _Field_size_(DimensionCount) const FLOAT*

Siehe DML_RESAMPLE2_OPERATOR_DESC::Skalierungen.

InputPixelOffsets

Typ: _Field_size_(DimensionCount) const FLOAT*

Siehe DML_RESAMPLE2_OPERATOR_DESC::InputPixelOffsets.

OutputPixelOffsets

Typ: _Field_size_(DimensionCount) const FLOAT*

Siehe DML_RESAMPLE2_OPERATOR_DESC::OutputPixelOffsets.

Bemerkungen

Dieser Operator entspricht DML_RESAMPLE_GRAD_OPERATOR_DESC , wenn InterpolationMode auf DML_INTERPOLATION_MODE_LINEAR festgelegt ist; oder wenn InterpolationMode auf DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR festgelegt ist, und RoundingDirection auf DML_AXIS_DIRECTION_DECREASING, und OutputPixelOffsets werden eine zusätzliche -0,5 angepasst.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_5_1 eingeführt.

Tensoreinschränkungen

InputGradientTensor und OutputGradientTensor müssen denselben DataType und DimensionCount aufweisen.

Tensorunterstützung

Tensor Variante Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputGradientTensor Eingabe 1 bis 4 FLOAT32, FLOAT16
AusgabeGradientTensor Ausgabe 1 bis 4 FLOAT32, FLOAT16

Anforderungen

   
Kopfball directml.h