SetDequantType
功能说明
当输入为int8数据类型,输出为half数据类型时,需要进行反量化操作。反量化时有两种模式: 一种是单个元素的反量化方式,一种是向量的反量化方式。
- 单个元素的反量化方式,指对输出矩阵的所有值采用同一反量化系数进行反量化。kernel侧实现中,实现该功能的接口请参考SetQuantScalar。
- 向量的反量化方式,提供一个量化参数向量,对输出矩阵的每一行都采用该向量中对应行的反量化系数进行反量化。kernel侧实现中,实现该功能的接口请参考SetQuantVector。
该接口用于设置反量化的模式。
函数原型
1 | int32_t SetDequantType(DequantType deqType) |
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
deqType |
输入 |
设置反量化时的模式。可选值: enum class DequantType { SCALAR = 0, // 单个元素的反量化方式 TENSOR = 1, // 向量的反量化方式 }; |
返回值
-1表示设置失败; 0表示设置成功。
注意事项
无
调用示例
auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::MatmulApiTiling tiling(ascendcPlatform); tiling.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_INT8); tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_INT8); tiling.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_INT32); tiling.SetShape(1024, 1024, 1024); tiling.SetOrgShape(1024, 1024, 1024); tiling.SetBias(true); tiling.SetDequantType(DequantType::TENSOR); // 设置反量化的模式 tiling.SetBufferSpace(-1, -1, -1); optiling::TCubeTiling tilingData; int ret = tiling.GetTiling(tilingData);
父主题: Matmul Tiling类