首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >efficientNet上的静态量化

efficientNet上的静态量化
EN

Stack Overflow用户
提问于 2022-04-04 07:00:40
回答 1查看 186关注 0票数 0

我试着用经过训练的EfficientNetB0来执行静态量化。一旦我应用torch.quantization.convert将模型从float32转换为int8,就会发生一个错误,具体而言: NotImplementedError:无法使用'QuantizedCPU‘后端的参数运行'aten::silu.out’。我想知道是否有人遇到了同样的错误,并能够解决它。我也尝试了移动网络,我得到了一个错误的风格(不一样)。

先谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2022-04-04 07:57:14

在8位量化中,漏ReLu的实现并不容易,许多框架在没有模型退化的情况下无法实现它(256个数字代表整个输出范围)。

然而,有一个在8位中量化这一层的技巧。

1/您可以尝试推断训练数据集并测量该层的输出激活范围,以复制此函数的边界。这通常被称为PostQuantize

2/降低激活函数的复杂度。SiLu x*sigmoid(x) => HardSwish x*relu6(x + 3)*0.166666667.这是ReLu => ReLu6的思想,其中输出从0到6是有界的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71733167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档