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