Skip to content

[wrapq] Bug in _all_observers() #494

@CMDR-DiTRay

Description

@CMDR-DiTRay

What?

The _all_observers() method in Quantization Wrappers yields observers from child modules, but the child modules (PTQWrapper instances) don't actually own observers themselves.

When the _all_observers() method in the parent modules (like QuantQwen3VLTextMLP, QuantQwen3VLTextAttention, etc.) calls yield from m._all_observers() on a PTQWrapper instance, it gets an empty iterator because:

  1. PTQWrapper._all_observers() returns an empty iterator ()
  2. The actual observers are owned by the wrapped module inside the PTQWrapper

Where?

This affetcs at least TextAttention (tico/quantization/wrapq/wrappers/qwen_vl/quant_text_attn.py) and Qwen3VLVisionMLP (tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_mlp.py) Quantization Wrappers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions