DML_UPSAMPLE_2D_OPERATOR_DESC 構造体 (directml.h)

入力イメージをアップサンプリングし、結果を出力テンソルに書き込みます。 ディメンションの順序は NCHW (BatchSize、ChannelCount、Height、Width) または NCDHW (BatchSize、ChannelCount、Depth、Height、Width) にする必要がありますが、データが別の形式で格納されている場合はストライドを使用できます。 DML_RESAMPLE_OPERATOR_DESCとは異なり、最後の 2 つのディメンション (高さと幅) のみをアップサンプリングできます。

使用可能な場合は、 DML_UPSAMPLE_2D_OPERATOR_DESC のより柔軟なバージョンであるため、 DML_RESAMPLE_OPERATOR_DESCすることをお勧めします。

構文

struct DML_UPSAMPLE_2D_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputTensor;
  const DML_TENSOR_DESC  *OutputTensor;
  DML_SIZE_2D            ScaleSize;
  DML_INTERPOLATION_MODE InterpolationMode;
};

メンバー

InputTensor

型: const DML_TENSOR_DESC*

入力データを含むテンソル。 InputTensor の予想されるディメンションは { InputBatchCount, InputChannelCount, InputHeight, InputWidth } 、4D 用と { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth } 5D 用です。

OutputTensor

型: const DML_TENSOR_DESC*

入力データを含むテンソル。 OutputTensor の予想されるディメンションは { InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale } 、4D 用と { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale } 5D 用です。

ScaleSize

種類: DML_SIZE_2D

入力をアップサンプリングするときに適用する UINT 型の幅と高さのスケール。 0 < ScaleSize.Height <= UINT_MAX / InputHeight および 0 < ScaleSize.Width <= UINT_MAX / InputWidth

InterpolationMode

種類: DML_INTERPOLATION_MODE

このフィールドは、出力ピクセルの選択に使用される補間の種類を決定します。

  • DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR最も近い近隣アルゴリズムを使用します。これは、各出力要素の対応するピクセル中心に最も近い入力要素を選択します。
  • DML_INTERPOLATION_MODE_LINEAR。 高さディメンション内の 2 つの最も近い近隣入力要素と、幅ディメンション内の最も近い 2 つの近隣入力要素の加重平均を合計 4 要素で実行して、出力要素を計算する バイリニア アルゴリズムを使用します。 これは、入力/出力 DimensionCount が 5 の場合でも当てはまります。 つまり、サンプルは幅と高さの寸法に沿ってのみ平均化され、バッチ、チャネル、または深さに沿ったことはありません。

可用性

この演算子は、 で DML_FEATURE_LEVEL_1_0導入されました。

テンソル制約

InputTensorOutputTensor には、同じ DataTypeDimensionCount が必要です。

Tensor のサポート

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 4 から 5 FLOAT32、FLOAT16
OutputTensor 出力 4 から 5 FLOAT32、FLOAT16

要件

要件
Header directml.h