次の方法で共有


DML_ELEMENT_WISE_CLIP_OPERATOR_DESC 構造体 (directml.h)

InputTensor の各要素に対して次の操作を実行し、OutputTensor の対応する要素に結果を配置します。 この演算子は、閉じた間隔 [Min, Max] 内の入力内のすべての要素をクランプ (または制限) します。

f(x) = max(Min, min(x, Max))

ここで、max(a,b) は 2 つの値のうち大きい方を返し、min(a,b) は 2 つの値 a,b の小さい方を返します。

この演算子はインプレース実行をサポートしています。つまり、バインド中に OutputTensorInputTensor の別名を指定できます。

構文

struct DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_SCALE_BIAS  *ScaleBias;
  FLOAT                 Min;
  FLOAT                 Max;
};

メンバー

InputTensor

型: const DML_TENSOR_DESC*

読み取る入力テンソル。

OutputTensor

型: const DML_TENSOR_DESC*

結果を書き込む出力テンソル。

ScaleBias

型: _Maybenull_ const DML_SCALE_BIAS*

入力に適用するスケールとバイアス (省略可能)。 存在する場合、この演算子を計算する前に、各入力要素に関数g(x) = x * scale + biasを適用する効果があります。

Min

型: FLOAT

最小値。この最小値の下で、演算子は値を Min に置き換えます。

Max

型: FLOAT

最大値。この最大値を超える場合、演算子は値を Max に置き換えます。

注釈

テンソル データ型が float でない場合、 MinMax は、クリッピング操作を適用する前にテンソル データ型にキャストされます (整数の場合は 0 に切り捨て、浮動小数点値の場合は最も近い偶数に丸められます)。

可用性

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

テンソル制約

InputTensorOutputTensor には、同じ DataTypeDimensionCount、および サイズが必要です。

Tensor のサポート

DML_FEATURE_LEVEL_5_0 以降

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 1 から 8 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8
OutputTensor 出力 1 から 8 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_3_0以上

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 1 から 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
OutputTensor 出力 1 から 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_2_1以上

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 4 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
OutputTensor 出力 4 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_1_0以降

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

要件

要件
Header directml.h