专栏算法工具链在OE包中使用QAT量化自己训练的模型

在OE包中使用QAT量化自己训练的模型

已解决
默认328322024-05-16
95
9
J5 J5_OE_1.1.74 对浮点模型做必要的改造。

你好!我在将自己训练好的模型使用QAT量化的过程中遇到以下疑问,麻烦解答一下,谢谢!

1、在第一步获取浮点模型,我目前已经有训练好的浮点模型了,请问在模型输入前插入 QuantStub在模型输出后插入 DequantStub,请问该如何插入呢?

2、在模型输入前插入 QuantStub在模型输出后插入 DequantStub后,还需要对浮点模型进行精度验证吗?

3、进行 Calibration,也需要根据自己的模型来修改config文件吗?

请问有详细的文档说明吗?

算法工具链
技术深度解析征程5
评论9
0/1000
  • GOYU\XU
    Lv.2
    烦请查看地平线J5算法工具链手册

    https://developer.horizon.cc/api/v1/fileData/horizon_j5_open_explorer_cn_doc/plugin/source/quick_start/quick_start.html

    2024-05-20
    0
    0
  • 默认32832
    Lv.2
    感谢你的解答,这个手册我看过的,手册中给的示例MobileNetV2模型是通过torchvision.models.mobilenetv2模块导入的,如果使用自己训练的模型(在模块中没有),是需要自己写脚本加载训练好的模型,然后在定义一个包装类,最后将加载的模型嵌入到包装类中。手册给的示例是写在一个脚本当中的吗?在开发者论坛当中的算法工具链中的示例算法的脚本当中并没有,在模型输入前插入 QuantStub,在模型输出后插入 DequantStub。

    2024-05-20
    0
    0
  • 默认32832
    Lv.2
    请问直接加载训练好的浮点模型,这个模型的格式有要求吗?
    2024-05-20
    0
    0
  • GOYU\XU
    Lv.2

    模型格式没有特殊要求,模型算子支持即可

    2024-05-23
    0
    0
  • 默认32832
    Lv.2
    感谢你的回答,请问直接加载训练好的浮点模型,是需要自己写脚本加载训练好的模型,然后在定义一个包装类,最后将加载的模型嵌入到包装类中吗?(请问有加载示例吗?)
    2024-05-23
    0
    0
  • GOYU\XU
    Lv.2
    是的,是需要自己写float模型的加载类,然后插入QuantStub、DequantStub。目前没有完整的训练QAT示例,地平线用户手册7.3节已经比较详细了,可参考修改!
    2024-05-24
    0
    0
  • 默认32832
    Lv.2

    谢谢你的解答:

    1、请问地平线用户手册7.3节展示的代码是QAT感知量化方案的全部代码吗?(如果不完整,请问完整代码能否提供一下,因为我在展示 的代码里面没有找到主函数)

    2、请问地平线用户手册7.3节展示的代码是写在一个脚本里面的吗?(完成整个量化过程只需要执行一次这个脚本文件吗?)

    2024-05-26
    0
    0
  • GOYU\XU
    Lv.2

    7.3节就是完整代码,没有单独放在一个脚本!

    2024-05-27
    0
    0
  • 默认32832
    Lv.2

    好的,谢谢你的回答!

    2024-05-28
    0
    0