次の方法で共有


DML_ELEMENT_WISE_IF_OPERATOR_DESC 構造体 (directml.h)

ConditionTensor の対応する要素の値に応じて、ATensor または BTensor から要素を選択します。 ConditionTensor の 0 以外の要素は ATensor から選択し、ゼロ値要素は BTensor から選択します。

f(cond, a, b) = a, if cond != 0
                b, otherwise

Example:
    [[1, 0], [1, 1]] // ConditionTensor
    [[1, 2], [3, 4]] // ATensor
    [[9, 8], [7, 6]] // BTensor

    [[1, 8], [3, 4]] // Output

構文

struct DML_ELEMENT_WISE_IF_OPERATOR_DESC {
  const DML_TENSOR_DESC *ConditionTensor;
  const DML_TENSOR_DESC *ATensor;
  const DML_TENSOR_DESC *BTensor;
  const DML_TENSOR_DESC *OutputTensor;
};

メンバー

ConditionTensor

型: const DML_TENSOR_DESC*

読み取る条件テンソル。

ATensor

型: const DML_TENSOR_DESC*

左側の入力を含むテンソル。

BTensor

型: const DML_TENSOR_DESC*

右側の入力を含むテンソル。

OutputTensor

型: const DML_TENSOR_DESC*

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

解説

LeakyRelu などの他の集計演算子を機能的に構築するために使用できます。 擬似コードの図を次に示します (最も効率的な方法ではありませんが、可能です)。 LeakyRelu(x) = If(Less(x, 0), Mul(x, alpha), x)

可用性

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

テンソル制約

  • ATensorBTensorConditionTensorおよび OutputTensor には 、同じ DimensionCountサイズが必要です。
  • ATensorBTensorおよび OutputTensor には、同じ DataType が必要です。

Tensor のサポート

DML_FEATURE_LEVEL_5_0 以降

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

DML_FEATURE_LEVEL_3_0以上

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
ConditionTensor 入力 1 から 8 Uint8
ATensor 入力 1 から 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
BTensor 入力 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_0以上

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

要件

   
サポートされている最小のクライアント Windows 10バージョン 2004 (10.0;ビルド 19041)
サポートされている最小のサーバー Windows Server バージョン 2004 (10.0;ビルド 19041)
Header directml.h