DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC構造体 (directml.h)
ScaleTensor および 内の対応する要素に対して、ZeroPointTensor
内のすべての要素に対して次の線形デカンティング関数を実行し、結果 OutputTensorの対応する要素に配置します。
f(input, scale, zero_point) = (input - zero_point) * scale
量子化は、精度を犠牲にしてパフォーマンスを向上させる一般的な方法です。 8 ビット int 値のグループは、32 ビット浮動小数点値のグループよりも高速に計算できます。 デカンタイズは、エンコードされたデータをドメインに変換します。
構文
struct DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ScaleTensor;
const DML_TENSOR_DESC *ZeroPointTensor;
const DML_TENSOR_DESC *OutputTensor;
};
メンバーズ
InputTensor
型: const DML_TENSOR_DESC*
入力を含むテンソル。
ScaleTensor
型: const DML_TENSOR_DESC*
スケールを含むテンソル。 スケール値が 0 の場合、未定義の動作が発生します。
手記
スケール値が 0 の場合、未定義の動作になります。
ZeroPointTensor
型: const DML_TENSOR_DESC*
量子化に使用されたゼロ点を含むテンソル。
OutputTensor
型: const DML_TENSOR_DESC*
結果を書き込む出力テンソル。
可用性
この演算子は、DML_FEATURE_LEVEL_1_0
で導入されました。
Tensor 制約
- InputTensor、OutputTensor、ScaleTensor、および ZeroPointTensor の DimensionCount と サイズは同じである必要があります。
InputTensor と ZeroPointTensorは、同じ DataType を持つ必要があります。- OutputTensor と ScaleTensor は、同じ DataTypeを持つ必要があります。
Tensor のサポート
DML_FEATURE_LEVEL_6_2以降
テンソル | 種類 | サポートされているディメンション数 | サポートされているデータ型 |
---|---|---|---|
InputTensor | インプット | 1 から 8 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
ScaleTensor | インプット | 1 から 8 | FLOAT32、FLOAT16 |
ZeroPointTensor | 省略可能な入力 | 1 から 8 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
OutputTensor | アウトプット | 1 から 8 | FLOAT32、FLOAT16 |
DML_FEATURE_LEVEL_6_0以降
テンソル | 種類 | サポートされているディメンション数 | サポートされているデータ型 |
---|---|---|---|
InputTensor | インプット | 1 から 8 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
ScaleTensor | インプット | 1 から 8 | FLOAT32、FLOAT16 |
ZeroPointTensor | インプット | 1 から 8 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
OutputTensor | アウトプット | 1 から 8 | FLOAT32、FLOAT16 |
DML_FEATURE_LEVEL_3_0以上
テンソル | 種類 | サポートされているディメンション数 | サポートされているデータ型 |
---|---|---|---|
InputTensor | インプット | 1 から 8 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
ScaleTensor | インプット | 1 から 8 | FLOAT32 |
ZeroPointTensor | インプット | 1 から 8 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
OutputTensor | アウトプット | 1 から 8 | FLOAT32 |
DML_FEATURE_LEVEL_2_1以降
テンソル | 種類 | サポートされているディメンション数 | サポートされているデータ型 |
---|---|---|---|
InputTensor | インプット | 4 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
ScaleTensor | インプット | 4 | FLOAT32 |
ZeroPointTensor | インプット | 4 | INT32、INT16、INT8、UINT32、UINT16、UINT8 |
OutputTensor | アウトプット | 4 | FLOAT32 |
DML_FEATURE_LEVEL_1_0以降
テンソル | 種類 | サポートされているディメンション数 | サポートされているデータ型 |
---|---|---|---|
InputTensor | インプット | 4 | UINT8 |
ScaleTensor | インプット | 4 | FLOAT32 |
ZeroPointTensor | インプット | 4 | UINT8 |
OutputTensor | アウトプット | 4 | FLOAT32 |
必要条件
要件 | 価値 |
---|---|
ヘッダー | directml.h |