Freigeben über


DML_RESAMPLE_GRAD1_OPERATOR_DESC Struktur (directml.h)

Berechnet Verläufe von Backpropagation für DML_RESAMPLE2_OPERATOR_DESC.

DML_RESAMPLE2_OPERATOR_DESC skaliert beliebige Dimensionen des Eingabe-Tensors um, indem es entweder Pixelwiederholung-Sampling oder bilineare Interpolation verwendet. 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 Benachbarte Skalierung 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 gewichtete Beiträge dieses Elements an den OutputTensor darstellen.

Wichtig

Diese API ist als Teil des eigenständigen weiterverteilbare Pakets DirectML verfügbar (siehe Microsoft.AI.DirectML , Version 1.9 und höher). Siehe auch 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;
};

Member

InputGradientTensor

Typ: const DML_TENSOR_DESC*

Der eingehende Gradient-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 des entsprechenden DML_RESAMPLE2_OPERATOR_DESC in der Vorwärtsweitergabe.

OutputGradientTensor

Typ: const DML_TENSOR_DESC*

Ein Ausgabe-Tensor, der die Backpropagation-Gradienten enthält. In der Regel hat dieser Tensor die gleichen Größen wie die Eingabe des entsprechenden DML_RESAMPLE2_OPERATOR_DESC in der Vorwärtsweitergabe.

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::Scales.

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.

Hinweise

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 zusätzliche -0,5 angepasst.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_5_1 eingeführt.

Tensor-Einschränkungen

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

Tensor-Unterstützung

Tensor Variante Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputGradientTensor Eingabe 1 bis 4 FLOAT32, FLOAT16
OutputGradientTensor Output 1 bis 4 FLOAT32, FLOAT16

Anforderungen

   
Übergeordnet directml.h