当前位置:   article > 正文

pytorch深度学习入门(15)之-使用onnx模型量化_csdn onnx量化

csdn onnx量化

量化 ONNX 模型

内容

量化概述

ONNX 运行时中的量化是指 ONNX 模型的 8 位线性量化。

在量化期间,浮点值被映射到以下形式的 8 位量化空间:val_fp32 = scale * (val_quantized - zero_point)

scale是一个正实数,用于将浮点数映射到量化空间。计算方法如下:

对于非对称量化:

  1. <span style="background-color:#f5f6fa"><span style="background-color:#f5f6fa"><span style="color:#5c5962"><span style="background-color:#f5f6fa"><span style="color:#5c5962"><code> scale = (data_range_max - data_range_min) / (quantization_range_max - quantization_range_min)
  2. </code></span></span></span></span></span>

对于对称量化:

  1. <span style="background-color:#f5f6fa"><span style="background-color:#f5f6fa"><span style="color:#5c5962"><span style="background-color:#f5f6fa"><span style="color:#5c5962"><code> scale = max(abs(data_range_max), abs(data_range_min)) * 2 / (quantization_range_max - quantization_range_min)
  2. </code></span></span></span></span></span>

zero_point表示量化空间中的零。浮点零值在量化空间中能够精确表示是很重要的。这是因为许多 CNN 中都使用了零填充。如果量化后无法唯一表示0,就会导致精度误差。

ONNX 量化表示格式

有两种表示量化 ONNX 模型的方法:

  • 面向操作员(QOperator)。所有量化运算符都有自己的 ONNX 定义,例如 QLinearConv、MatMulI
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/57636
推荐阅读
相关标签
  

闽ICP备14008679号