• 文档 >
  • 量化 >
  • 量化 API 参考 >
  • 动态量化
快捷键

动态量化 ¶

class torch.ao.quantization.quantize_dynamic(model, qconfig_spec=None, dtype=torch.qint8, mapping=None, inplace=False)[source][source]

将浮点模型转换为动态(即仅权重)量化模型。

替换指定的模块为动态权重量化版本,并输出量化模型。

对于最简单的使用,请提供 dtype 参数,可以是 float16 或 qint8。默认情况下,对于权重大小较大的层(即线性层和 RNN 变体)执行仅权重量化。

可以通过 qconfig 和映射实现细粒度控制,它们的作用类似于 quantize()。如果提供了 qconfig,则忽略 dtype 参数。

参数:
  • model – 输入模型

  • qconfig_spec

    Either:

    • 一个将子模块的名称或类型映射到量化配置的字典,qconfig 适用于给定模块的所有子模块,除非为子模块指定了 qconfig(当子模块已经具有 qconfig 属性时)。字典中的条目需要是 QConfig 实例。

    • 一组要应用动态量化的类型和/或子模块名称,在这种情况下,使用 dtype 参数来指定位宽

  • 原地执行 – 在原地执行模型转换,原始模块被修改

  • 映射 - 将子模块的类型映射到相应的动态量化版本类型,该版本类型需要替换该子模块


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源