快捷方式

动态量化

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

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

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

为了最简单的使用,请提供 dtype 参数,该参数可以是 float16 或 qint8。默认情况下,仅权重量化适用于权重大小较大的层 - 例如 Linear 和 RNN 变体。

可以使用 qconfigmapping 进行更细粒度的控制,它们的作用与 quantize() 类似。如果提供了 qconfig,则忽略 dtype 参数。

参数
  • model – 输入模型

  • qconfig_spec

    以下两者之一

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

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

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

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

文档

访问 PyTorch 的全面的开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源