Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[winml perf] Build output directory fails architecture resolution

Open
#1,449 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
65/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
docker, python, pytorch

Research direction

Look at the perf command's directory input handling in the winml-cli source, likely in a module like cli/perf.py or similar. The error message suggests a failure to infer model_type from a config file in the build output directory. Start by reproducing the issue locally, then trace how the directory is scanned for model.onnx and its associated config. Check what metadata is expected versus what is present after a build. Running the existing tests for the perf command will show the expected behavior.

Written by the indexing model from the issue text.

Description

bug P1

Summary

perf rejects the directory produced by a successful build

Priority: P1, confirmed by the release driver on 2026-09-23.
Bugbash reference: 2026-09-22 / BUG-003.
Status: Observed in the first test round; no fix or post-fix regression is recorded. This issue is based on retained test evidence, not a new test run.

Environment

  • Test date: 2026-09-22; findings triaged on 2026-09-23.
  • CLI: winml-cli 0.4.0, installed from a local wheel. The exact source commit/build provenance is not recorded in the test evidence.
  • Hardware: Snapdragon X Elite X1E80100, Qualcomm Hexagon NPU.
  • OS: Windows 11 26H1, build 28000.2956, ARM64.
  • Python: 3.11.15, workspace virtual environment.
  • EP: QNNExecutionProvider from WinML Catalog, package 2.2480.49.0.
  • ONNX Runtime: 1.27.1.202607110137, Windows ML distribution.
  • ONNX: 1.18.0; PyTorch: 2.14.0; Transformers: 4.57.6.
  • Model: catalog microsoft/resnet-50, image-classification, pixel_values FP32 [1, 3, 224, 224].
  • Quantization, where applicable: w8a16, uint8 weights / uint16 activations, 10 calibration samples.

Reproduction

Run in PowerShell with winml-cli 0.4.0 installed. Choose previously unused output paths.

$buildOutput = '.\repro-build-directory'
uv run winml build -m microsoft/resnet-50 --ep qnn --device npu --compile -o "$buildOutput"
uv run winml perf -m "$buildOutput" --ep qnn --device npu --warmup 1 --iterations 5 -o '.\repro-directory-perf.json'

The catalog build succeeds and creates model.onnx plus its compiled external context before the perf directory-input failure.

Expected result

The documented build-output-directory input resolves the generated model.onnx.

Actual result

perf exits with code 1:

Cannot resolve a concrete architecture from a model_type-less generic config.

The same build's model.onnx succeeds when passed directly, so this is an artifact-discovery/directory-input failure rather than evidence that the built model cannot execute.

Workaround

Pass the ONNX file instead of its parent directory:

uv run winml perf -m "$buildOutput\model.onnx" --ep qnn --device npu --warmup 1 --iterations 5 -o '.\repro-file-perf.json'

This direct-file path was verified successfully in the bugbash.

Scope and evidence

perf help advertises support for a build output directory. The observed failure breaks the documented build-to-perf directory handoff. This report does not establish whether other architectures or EPs are affected.

The following evidence is retained locally by the reporter; these filenames are an index, not uploaded attachments:

  • perf-build-directory.stderr.log
  • perf-build-model.json
Dominant language
Python
Stars
40
Forks
11
Avg merge
1d 2h
Merged PRs (30d)
59

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.

More from microsoft/winml-cli

All issues in microsoft/winml-cli

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.