ObserverBase

torch.ao.quantization.observer.ObserverBase(dtype, is_dynamic=False)[源代码]

基础观察者模块。任何观察者的实现都应继承此类。

具体的观察者应遵循相同的 API。在前向传播过程中,它们会更新被观测张量的统计信息,并且需要提供一个 calculate_qparams 函数来根据收集到的统计信息计算量化参数。

参数
  • dtype – 实现参考模型规范所需,在量化节点中的dtype参数。

  • is_dynamic - 用于指示观察者是否为动态量化的占位符

  • 量化(或称为静态)–

`classmethodwith_args(**kwargs)`

用于创建类工厂的包装器。

当你需要创建具有相同构造函数参数但不同实例的类时,这种情况非常有用。此功能可以与 _callable_args 结合使用。

示例:

>>> Foo.with_args = classmethod(_with_args)
>>> foo_builder = Foo.with_args(a=3, b=4).with_args(answer=42)
>>> foo_instance1 = foo_builder()
>>> foo_instance2 = foo_builder()
>>> id(foo_instance1) == id(foo_instance2)
False
`classmethodwith_callable_args(**kwargs)`

一个允许在创建对象时调用类工厂参数的包装器。

当你需要创建具有相同构造函数参数但不同实例的类,并且这些参数仅在构建时计算时,这种情况会非常有用。此功能可以与_with_args一起使用。

示例:

>>> Foo.with_callable_args = classmethod(_with_callable_args)
>>> Foo.with_args = classmethod(_with_args)
>>> foo_builder = Foo.with_callable_args(cur_time=get_time_func).with_args(name="dan")
>>> foo_instance1 = foo_builder()
>>> # wait 50
>>> foo_instance2 = foo_builder()
>>> id(foo_instance1.creation_time) == id(foo_instance2.creation_time)
False
本页目录