DML_BATCH_NORMALIZATION_TRAINING_OPERATOR_DESC構造体 (directml.h)
入力に対してバッチ正規化を実行します。 この演算子は、次の計算を実行します。 Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias + FusedAdd)
ScaleTensor および BiasTensor のディメンションは 1 に設定でき、InputTensor と一致するように自動的にブロードキャストされますが、それ以外の場合は InputTensor の対応するディメンションのサイズと等しい必要があります。 MeanTensor と VarianceTensor は、ScaleTensor と BiasTensor のサイズが 1 と等しい一連のディメンションの入力で計算されます。
構文
struct DML_BATCH_NORMALIZATION_TRAINING_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ScaleTensor;
const DML_TENSOR_DESC *BiasTensor;
const DML_TENSOR_DESC *FusedAddTensor;
const DML_TENSOR_DESC *OutputTensor;
const DML_TENSOR_DESC *OutputMeanTensor;
const DML_TENSOR_DESC *OutputVarianceTensor;
FLOAT Epsilon;
const DML_OPERATOR_DESC *FusedActivation;
};
メンバー
InputTensor
型: const DML_TENSOR_DESC*
入力データを含むテンソル。
ScaleTensor
型: const DML_TENSOR_DESC*
Scale データを含むテンソル。
BiasTensor
型: const DML_TENSOR_DESC*
Bias データを含むテンソル。
FusedAddTensor
型: _Maybenull_ const DML_TENSOR_DESC*
FusedActivation より前の結果に追加されるデータを含む省略可能なテンソル (存在する場合)。
OutputTensor
型: const DML_TENSOR_DESC*
結果を書き込むテンソル。
OutputMeanTensor
型: const DML_TENSOR_DESC*
入力の平均を書き込むテンソル。
OutputVarianceTensor
型: const DML_TENSOR_DESC*
入力の分散を書き込むテンソル。
Epsilon
型: FLOAT
ゼロによる除算を回避するために使用する epsilon 値。
FusedActivation
型: _Maybenull_ const DML_OPERATOR_DESC*
正規化後に適用するオプションの融合アクティブ化レイヤー。 詳細については、「パフォーマンスを 向上させるために融合演算子を使用する」を参照してください。
注釈
可用性
この演算子は で DML_FEATURE_LEVEL_4_1
導入されました。
テンソル制約
- BiasTensor、 FusedAddTensor、 InputTensor、 OutputMeanTensor、 OutputTensor、 OutputVarianceTensor、 ScaleTensor は、 同じ DataType と DimensionCount を持つ必要があります。
- BiasTensor、 OutputMeanTensor、 OutputVarianceTensor、 ScaleTensor の サイズは同じである必要があります。
- FusedAddTensor、 InputTensor、および OutputTensor の サイズは同じである必要があります。
Tensor のサポート
DML_FEATURE_LEVEL_4_1以上
テンソル | 種類 | Dimensions | サポートされているディメンション数 | サポートされるデータ型 |
---|---|---|---|---|
InputTensor | 入力 | { InputDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
ScaleTensor | 入力 | { ScaleDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
BiasTensor | 入力 | { ScaleDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
FusedAddTensor | 省略可能な入力 | { InputDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
OutputTensor | 出力 | { InputDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
OutputMeanTensor | 出力 | { ScaleDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
OutputVarianceTensor | 出力 | { ScaleDimensions[] } | 1 から 8 | FLOAT32、FLOAT16 |
要件
要件 | 値 |
---|---|
Header | directml.h |