专栏算法工具链QAT量化配置对象

QAT量化配置对象

已解决
默认328322024-08-19
46
6

J5 J5_OE_1.1.74

1、算法工具链示例里的module_name(为什么要使用32bit),在我们自己的算法中该如何使用呢?

2、在什么情况下需要使用32bit,

我们自己的算法也是在forward里面对一些模块使用这个配置对象吗?

算法工具链
技术深度解析征程5
评论2
0/1000
  • Pipeline
    Lv.2

    int32是为了高精度输出,保证模型精度,自己forward在输入和输出增加quant和dequant节点就可以量化。

    2024-08-19
    0
    4
    • 默认32832回复Pipeline:

      谢谢你的解答!

      可以我说的不够完整,我们已经在我们的算法的forward里面增加了quant和dequant节点,现在我们已经进行到calibration,但是算法工具链示例在写calib_model的时候对classifier模块指定了使用

      2024-08-19
      0
    • gaoh回复默认32832:

      在prepare_qat_fx中替换"classifier",如果想知道最后一层的命名,可以使用QAT精度Debug工具跑一下calib_model并查看生成的model_check_result来获取最后一层算子的命名

      2024-08-20
      0
    • 默认32832回复gaoh:

      谢谢你的解答!

      请问有使用QAT精度Debug工具跑一下calib_model并查看生成的model_check_result来获取最后一层算子的命名的操作流程或者示例吗?

      2024-08-20
      0
    • gaoh回复默认32832:

      可以参考用户手册里QAT精度Debug工具章节使用工具,model_check的生成物model_check_result.txt里面的"Module Name"字段记录了每层算子的命名,定位到最后一层即可(out dtype=torch.float32的)

      2024-08-20
      0
  • Huanghui
    Lv.5

    客户您好,长时间未收到你的答复,相信问题已解。如对此尚存疑问欢迎新帖讨论,感谢您的参与!

    2024-09-04
    0
    0