训练后量化支持量化的层以及约束如下,量化过程请参见获取更多样例。
支持的层类型 |
约束 |
备注 |
---|---|---|
MatMul:全连接层 |
transpose_a=False, transpose_b=False,adjoint_a=False,adjoint_b=False |
- |
BatchMatMul/BatchMatMulV2 |
adjoint_a=False,adjoint_b=False |
- |
Conv2D:卷积层 |
- |
weight的输入来源不含有placeholder等可动态变化的节点,且weight的节点类型只能是const。 |
DepthwiseConv2dNative:Depthwise卷积层 |
dilation=1 |
|
Conv2DBackpropInput:反卷积层 |
dilation=1 |
|
AvgPool:平均下采样层 |
- |
- |
训练后量化接口调用流程如图1所示:
其中数据集用于在NPU环境中对模型进行推理时,测试量化数据的精度;校准集用来产生量化因子,保证精度。
其中数据集用于在TensorFlow环境中对模型进行推理时,测试量化数据的精度;校准集用来产生量化因子,保证精度。
关于接口的详细说明请参见接口说明。
如果用户不使用 场景1中的接口,而是用自己计算得到的量化因子以及TensorFlow原始模型,生成量化模型,则需要使用convert_model接口完成相关量化动作。
调用示例请参见快速入门。