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