You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds generalized WinML support hardening for nielsr/vitpose-base-simple keypoint-detection while preserving existing CPU fp32/fp16 recipe coverage through L2. The shipped outcome is L2 PASS for required tuples, plus mandatory final-head functional smoke eval PASS on real one-row COCO data in both trust modes (functional operability evidence only). Final refresh advances the PR head to 63bfd4a and records the d5fa845->63bfd4ad evaluator follow-up fix (non-null model_id guard/control-flow narrowing plus missing-model-id regression test), while preserving baseline main 9f74f91 provenance and Optimum WINML-ONLY status.
Model metadata
What the model does
VitPoseForPoseEstimation consumes normalized person-crop image tensors and outputs per-keypoint heatmaps for human pose keypoint localization.
Evidence/confidence (verified): inspect task resolution to keypoint-detection with VitPose ONNX export config; Transformers VitPoseForPoseEstimation forward returns heatmaps.
Primary user stories
A user supplies a cropped person image tensor to obtain keypoint heatmaps for downstream pose coordinate decoding.
Evidence/confidence (verified): VitPose forward(pixel_values) to heatmaps; model I/O contract uses 256x192 image input.
Supported tasks
keypoint-detection across checkpoint, Transformers, Optimum ONNX, and WinML.
Evidence/confidence (verified): Optimum probe vendor=[] and after_winml=[keypoint-detection], added_by_winml=[keypoint-detection].
Final-head invalidation decision: PARTIAL-RERUN from d5fa845 to 63bfd4a.
Reused at final head after no-impact proof: L0 build, L1 perf, L2 parity, analyze.
Provenance chain: reused tuples come from d5fa845 immediate evidence, which itself carries forward the earlier e6d5aa4 validated build/perf/parity/analyze provenance.
Rerun on 63bfd4a: focused evaluator tests, affected eval/export partition, touched-file ruff gates, and mandatory real one-row COCO functional smoke (without and with trust_remote_code).
2. Goal
Committed Effort: L2.
Goal ceiling: L2.
Intended Outcome: L2.
Goal success definition: L0-L2 CPU fp32/fp16 remain PASS, and mandatory supplemental functional-smoke eval must process samples and emit semantically valid keypoint metric on final head.
3. Outcome
Final outcome: shipped tier L2, highest goal verdict L2 PASS.
Coverage: full required tuples (CPUExecutionProvider/cpu/fp32 and CPUExecutionProvider/cpu/fp16), no deferred tuples.
Mandatory functional smoke status: PASS on final head 63bfd4a.
Candidate and metadata state for this PR: head 63bfd4a, Draft=true, label model-scale-by-skill present.
Quality gates on final-head rerun scope:
ruff check touched files: PASS.
ruff format --check touched files: PASS (3 already formatted).
Scope: FP32 CPU only, keypoint-detection, real one-row authoritative COCO subset, deterministic first-N, sample_limit=1.
Contract checks: schema/label/prediction semantics verified before scoring.
Final-head run A (without trust_remote_code): exit=0, processed_samples=1, map=0.8.
Final-head run B (with trust_remote_code): exit=0, processed_samples=1, map=0.8.
Classification: functional smoke only; not benchmark-quality or representative accuracy.
Evaluator capability change that removed prior blocker: strict AutoImageProcessor remains first path; on known Unrecognized image processor failure and vitpose-family metadata gate, fallback retries with VitPoseImageProcessor while preserving trust_remote_code propagation.
Recipe delta vs baseline generated config remains inherited from prior accepted recipe work; revision 4 introduced no new recipe semantic changes.
Recipe-free acceptance: PASS (revision 4 touched evaluator/test path only; no new recipe semantics introduced).
Production recipe README: untouched.
Bug fix explanation
Symptom and trigger: keypoint eval failed before row processing with ValueError: Unrecognized image processor in nielsr/vitpose-base-simple, reproducible with and without trust_remote_code.
Root cause: metadata alias drift between preprocessor image_processor_type and installed AutoImageProcessor mapping/class symbol for vitpose caused strict resolver failure.
Added local binding for model_id, explicit ValueError guard when missing, and reused narrowed non-null local for both AutoImageProcessor and VitPoseImageProcessor from_pretrained calls.
Generalization rule: invariant enforcement is data-driven and model-family-neutral (guard on required evaluator config), not checkpoint hardcoding.
Compatibility and blast radius: preserves existing successful model_id-present behavior and only introduces earlier explicit failure for invalid missing-model_id inputs.
Regression evidence: new test_missing_model_id_raises_before_processor_load added and passing; focused evaluator suite 14/14 PASS; affected partition 729 PASS; final functional smoke on 63bfd4a remains PASS in both trust modes.
6. Analyze summary - component level and op level
Static rule analysis status: ANALYZE-PARTIAL-SUCCESS. This section is compatibility analysis output, not runtime execution proof.
Component-level summary
Artifact
Architecture coverage
Mapping
Actionable EP findings
fp32
VitPose backbone/encoder/reshape/head regions represented via heuristic components
124 mapped heuristic components, 0 unmapped nodes
Grouped static-unknown outcomes for NvTensorRTRTX/OpenVINO/QNN; no CPU runtime-support claim from static rules
fp16
Same architecture regions, plus fp16 boundary behavior in graph form
Reviewed GitHub PR #1299 at exact head 88be42b4f4f68e2e299ffc58509ed190c154511e from a fresh detached checkout. The PR remains OPEN/DRAFT with model-scale-by-skill. Original PR #1195 remains unchanged at 26b538f96a05881b62ca334517b2eb6d18e3b7fc, draft, updated 2026-07-24T02:33:40Z.
Required change
Current-main baseline provenance is stale. The frozen charter and public PR body cite baseline commit 79d7baad10f28cd79e65072f78494e8be758f3df, while independently fetched origin/main and GitHub's PR base tip are ac38b61e4501ffeb9573a1d37d1bf811e4a2c1d7. git rev-list --count 79d7baad10f28cd79e65072f78494e8be758f3df..origin/main is 1. This violates reviewer.md Outcome-L0 Baseline HEAD == current origin/main (_meta-052), which requires rebase and baseline rerun even when the intervening commit is non-overlapping.
planner: refresh/reissue the charter on ac38b61e4501ffeb9573a1d37d1bf811e4a2c1d7; rerun the Optimum probe, winml --version, exact git rev-parse HEAD, recipe-free baseline build, and same-model/task winml config comparison. Reassess Effort/Goal only from those refreshed results.
producer: rebase the candidate onto current origin/main; apply only changes required by the refreshed charter and keep examples/recipes/README.md untouched.
tester: use a new immutable evidence root and validate the new exact head, including fp32/fp16 L0-L2, focused offline behavior, models+commands partitions, lint/mypy, artifacts, named inputs, and CPU/DML analyze retries.
learner: re-audit and reseal findings against the refreshed baseline/new candidate; explicitly preserve or revise vitpose-017..019 rather than carrying the old candidate identity implicitly.
explainer: update the public Baseline section and all derived hashes/head references from refreshed source-owned evidence; keep the PR draft/labeled and re-enumerate checks/comments/reviews/threads after the push.
Diff: 7 paths, two recipes plus generalized export/perf/session code and tests; no README, skill, or agent change; no source model/checkpoint hardcoding.
Engineering review: metadata-driven single-input vision recovery is guarded by vendor vision declarations and unambiguous shape/processor metadata; incompatible/non-vision paths retain fallback behavior.
Independent focused check: repaired empty-cache/offline VitPose test passed, 1 passed in 0.81s.
Exact-head GitHub gate: 9/9 attached checks COMPLETED/SUCCESS, including lint, models, commands, remaining, optim, analyze, CodeQL, and CLA.
Evidence: fp32/fp16 structures and sizes, realized fp16, perf/memory, L2 values, portable named-input hash, complete CPU/DML analyze JSON and exact provider-bridge errors all match the PR report.
Local full-partition harness was not accepted because the VS Code terminal stopped launching long or trivial subprocesses after one queued pytest run; exact-head GitHub checks and sealed command outputs were directly verified instead. This is not the routed defect and does not weaken the baseline failure above.
No PR branch, PR body, evidence root, label, draft state, or original PR #1195 content was modified by this reviewer.
optimum probe verdict = WINML-ONLY for vitpose keypoint-detection.
Producer deliverable revision 4 and tester verdict revision 4 are aligned on final head 63bfd4a and PARTIAL-RERUN invalidation logic.
Learner revision 3 remains a d5fa845-stage artifact as declared by explainer inputs; rev4 body explicitly documents final-head delta and rerun evidence.
PR body at live GitHub head 63bfd4a is updated, coherent, and labels functional smoke correctly as operability-only.
Local ruff check (src/ tests/) shows 5 existing RUF036 diagnostics; same 5 reproduced on clean base worktree at 9f74f91 (pre-existing, not introduced by this PR).
Local full models partition shows one existing failure:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
model-scale-by-skillModel support PR created or maintained by the adding-model-support skill
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds generalized WinML support hardening for nielsr/vitpose-base-simple keypoint-detection while preserving existing CPU fp32/fp16 recipe coverage through L2. The shipped outcome is L2 PASS for required tuples, plus mandatory final-head functional smoke eval PASS on real one-row COCO data in both trust modes (functional operability evidence only). Final refresh advances the PR head to 63bfd4a and records the d5fa845->63bfd4ad evaluator follow-up fix (non-null model_id guard/control-flow narrowing plus missing-model-id regression test), while preserving baseline main 9f74f91 provenance and Optimum WINML-ONLY status.
Model metadata
What the model does
VitPoseForPoseEstimation consumes normalized person-crop image tensors and outputs per-keypoint heatmaps for human pose keypoint localization.
Primary user stories
Supported tasks
Model architecture
Validation and support evidence
1. Baseline
2. Goal
3. Outcome
4. Per-EP/device/precision results and Functional smoke Eval
Goal ladder
Perf
Output parity
Functional smoke Eval (mandatory supplemental evidence; operability only)
5. Delta
Bug fix explanation
Revision-4 follow-up fix (d5fa845 -> 63bfd4a)
6. Analyze summary - component level and op level
Static rule analysis status: ANALYZE-PARTIAL-SUCCESS. This section is compatibility analysis output, not runtime execution proof.
Component-level summary
Op-level summary
7. Reproduce commands