更新时间:2021-03-18 GMT+08:00
分享

模型小型化工具原理

模型小型化工具是基于Caffe框架的Python工具包,该工具将量化和模型转换分开,实现对模型中可量化算子的独立量化,并将量化后的模型保存为.prototxt文件和.caffemodel文件。

模型小型化工具整体运行流程如图1所示,蓝色部分为用户实现,灰色部分为用户调用模型小型化工具提供的API实现,工具使用分为两种场景:

  • 场景1
    1. 用户首先构造Caffe的原始模型或使用简易配置文件,然后使用create_quant_config生成量化配置文件。
    2. 根据Caffe模型和量化配置文件,调用init接口,初始化工具,配置量化因子存储文件,将模型解析为图结构graph。
    3. 调用quantize_model接口对原始Caffe模型的图结构graph进行优化,修改后的模型中包含了量化算法,用户使用该模型借助模型小型化工具提供的数据集和校准集,在Caffe环境中进行inference,可以得到量化因子。

      其中数据集用于在Caffe环境中对模型进行推理时,测试量化数据的精度;校准集用来产生量化因子,保证精度。

    4. 最后用户可以调用save_model接口保存模型,包括可在Caffe环境中进行精度仿真的模型文件和权重文件,以及可部署在昇腾AI处理器的模型文件和权重文件。

关于接口的详细说明请参见接口说明

  • 场景2

    如果用户不使用•场景1中的接口,而是用自己计算得到的量化因子以及Caffe原始模型,生成量化后的部署模型和精度方案模型,则需要使用convert_model接口完成相关量化动作。该场景下的量化示例请参见使用convert_model接口量化示例

图1 工具原理示意图

模型小型化工具优点

  • 使用方便,安装工具包、重新编译Caffe即可。
  • ​接口简单,在用户基于Caffe框架的推理脚本基础上,调用API即可完成量化。
  • ​与硬件配套,生成的部署模型(deploy模型)经过ATC工具转换后可在昇腾AI处理器上实现8比特推理。
  • ​量化可配置,用户可自行修改量化配置文件,调整量化策略,获取较优的量化结果。
分享:

    相关文档

    相关产品

close