Sdílet prostřednictvím


DML_RESAMPLE_GRAD1_OPERATOR_DESC struktura (directml.h)

Vypočítá přechody backpropagation pro DML_RESAMPLE2_OPERATOR_DESC.

DML_RESAMPLE2_OPERATOR_DESC škáluje libovolné dimenze vstupního tensoru pomocí vzorkování nejbližšího souseda nebo bilineární interpolace. Vzhledem k tomu, InputGradientTensor se stejnými velikostmi jako výstupekvivalentního DML_RESAMPLE2_OPERATOR_DESC, tento operátor vytvoří OutputGradientTensor se stejnými velikostmi jako vstupDML_RESAMPLE2_OPERATOR_DESC.

Představte si například DML_RESAMPLE2_OPERATOR_DESC , která provádí měřítko nejbližšího souseda o šířce 1,5x a výšku 0,5x:

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

Všimněte si, jak 0. prvek vstupního tensoru (s hodnotou 1) přispívá ke dvěma prvkům ve výstupu; první prvek (s hodnotou 2) přispívá k jednomu prvku ve výstupu; a 2. a 3. prvky (s hodnotami 3 a 4) nepřispívají k žádným prvkům výstupu.

Odpovídající DML_RESAMPLE_GRAD1_OPERATOR_DESC by provedl následující:

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

Všimněte si, že hodnoty v OutputGradientTensor představují vážené příspěvky tohoto prvku do OutputTensor během původního DML_RESAMPLE2_OPERATOR_DESC operátoru.

Důležité

Toto rozhraní API je k dispozici jako součást samostatného distribuovatelného balíčku DirectML (viz Microsoft.AI.DirectML verze 1.9 a novější. Podívejte se také na historii verzí DirectML.

Syntaxe

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

Členové

InputGradientTensor

Typ: const DML_TENSOR_DESC*

Vstupní přechodový tenzor. Obvykle se získá z výstupu zpětného šíření předchozí vrstvy. Obvykle by tento tensor měl stejné velikosti jako výstup odpovídajících DML_RESAMPLE2_OPERATOR_DESC v předávacím průchodu.

OutputGradientTensor

Typ: const DML_TENSOR_DESC*

Výstupní tensor obsahující backpropagované přechody. Obvykle by tento tensor měl stejné velikosti jako vstup odpovídajících DML_RESAMPLE2_OPERATOR_DESC v předávacím průchodu.

InterpolationMode

Typ: DML_INTERPOLATION_MODE

Viz DML_RESAMPLE2_OPERATOR_DESC::InterpolationMode.

RoundingDirection

Typ: DML_AXIS_DIRECTION

Viz DML_RESAMPLE2_OPERATOR_DESC::RoundingDirection.

DimensionCount

Typ: UINT

Počet prvků v polích Scales, InputPixelOffsets a OutputPixelOffsets . Tato hodnota se musí shodovat s hodnotou DimensionCount zadanou v InputGradientTensoru a OutputGradientTensor.

Scales

Typ: _Field_size_(DimensionCount) const FLOAT*

Viz DML_RESAMPLE2_OPERATOR_DESC::Scales.

InputPixelOffsets

Typ: _Field_size_(DimensionCount) const FLOAT*

Viz DML_RESAMPLE2_OPERATOR_DESC::InputPixelOffsets.

OutputPixelOffsets

Typ: _Field_size_(DimensionCount) const FLOAT*

Viz DML_RESAMPLE2_OPERATOR_DESC::OutputPixelOffsets.

Poznámky

Tento operátor je ekvivalentní DML_RESAMPLE_GRAD_OPERATOR_DESC , pokud je interpolačnímode nastaven na DML_INTERPOLATION_MODE_LINEAR; nebo pokud je InterpolationMode nastavena na DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR a RoundingDirection na DML_AXIS_DIRECTION_DECREASING a OutputPixelOffsets jsou upraveny další -0,5.

Dostupnost

Tento operátor byl zaveden v DML_FEATURE_LEVEL_5_1.

Omezení Tensoru

InputGradientTensor a OutputGradientTensor musí mít stejný datový typ a dimenziCount.

Podpora tensoru

Tenzor Laskavý Podporované počty dimenzí Podporované datové typy
VstupníGradientTensor Vstup 1 až 4 FLOAT32, FLOAT16
OutputGradientTensor Výstup 1 až 4 FLOAT32, FLOAT16

Požadavky

   
Záhlaví directml.h