microsoft / microsoft/winml-cli

Apply fp16_op_block_list / fp16_keep_io_types to QDQ path (and vice versa)

Open
#963 1 comment 0 reactions 1 assignee View on GitHub

@xieofxie is already working on this.

Since Jul 27, 2026.

enhancement P2 triaged
Dominant language
Python
Stars
40
Forks
11
Avg merge
1d 8h
Merged PRs (30d)
50

Description

Context

From PR #872 review feedback by @xieofxie:

consider also apply to qdq and vice versa
a trick is get all types from input model to get the reverse list

Currently fp16_keep_io_types and fp16_op_block_list in WinMLQuantizationConfig are only used when mode="fp16". The suggestion is to:

  1. Allow FP16 conversion settings (like op_block_list) to also apply when running QDQ quantization (e.g., to skip certain ops from quantization).
  2. Allow QDQ-specific settings to inform FP16 conversion (e.g., auto-derive the block list from the model's op types).

Proposed Approach

  • Inspect all op types in the input model to auto-generate a sensible block/allow list
  • Share relevant config fields across FP16 and QDQ paths where applicable
  • Keep backward compatibility (explicit user settings always take priority)

Related

  • PR #872 (precision-driven quantization)
  • src/winml/modelkit/quant/config.pyWinMLQuantizationConfig

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.