Skip to content

recipe(Common-Voice-Gender-Detection): audio-classification cpu recipes#1206

Merged
codykk merged 1 commit into
mainfrom
recipe/prithivMLmods-common-voice-gender-detection
Jul 24, 2026
Merged

recipe(Common-Voice-Gender-Detection): audio-classification cpu recipes#1206
codykk merged 1 commit into
mainfrom
recipe/prithivMLmods-common-voice-gender-detection

Conversation

@codykk

@codykk codykk commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds verified CPU recipes (fp32 and fp16) for prithivMLmods/Common-Voice-Gender-Detection, a Wav2Vec2ForSequenceClassification model for binary gender classification (female/male) from audio. Effort L0, Goal ceiling L2, Outcome L0. Both precisions pass build and perf; eval (L3) is CLI-BLOCKED due to audio-classification task not being supported for eval.

Model metadata

What the model does: Binary gender classification (female/male) from raw audio waveforms using a fine-tuned Wav2Vec2 encoder.

Primary user stories: Classify speaker gender from audio clips for analytics, content tagging, and demographic analysis.

Supported tasks: audio-classification

Model architecture:

Wav2Vec2ForSequenceClassification
├── Feature extractor (CNN: 7 conv layers, 512 channels)
├── Feature projection (512 → 1024)
├── Encoder stack x 24
│   ├── Self-attention (16 heads, 1024 dim)
│   ├── Feed-forward (1024 → 4096 → 1024, GELU)
│   └── Residual + LayerNorm
└── Classification head (1024 → 256 → 2: female/male)
  • Source/confidence: pinned checkpoint config and Wav2Vec2ForSequenceClassification source (verified).

Validation and support evidence

Baseline

  • Pinned main commit: 57dc6b20
  • Build PASS, Perf PASS on main
  • Auto-config produces identical fp32 recipe; fp16 adds quant block with mode: "fp16"

Goal

  • Effort: L0 (recipe-only)
  • Goal ceiling: L2
  • Outcome: L0
  • Success definition: Build PASS + Perf PASS for cpu/cpu fp32 and fp16

Outcome

L0 PASS for both tuples. L2 reached (cosine similarity 1.0 for both precisions). L3 CLI-BLOCKED: audio-classification task not supported for eval.

Shipped recipes:

  • examples/recipes/prithivMLmods_Common-Voice-Gender-Detection/cpu/cpu/audio-classification_fp32_config.json
  • examples/recipes/prithivMLmods_Common-Voice-Gender-Detection/cpu/cpu/audio-classification_fp16_config.json

Appended finding: wav2vec2-005 to model_knowledge/wav2vec2.json.

Per-EP/device/precision results

Tier EP / Device Precision Verdict Mean Throughput RAM Δ Eval metric
L0 CPUExecutionProvider / cpu fp32 PASS (26.6s, 360.9MB)
L1 CPUExecutionProvider / cpu fp32 PASS 49.08 ms 20.38 sps +401.5 MB
L2 CPUExecutionProvider / cpu fp32 PASS cosine=1.0, max_abs=1.05e-5
L3 CPUExecutionProvider / cpu fp32 CLI-BLOCKED
L0 CPUExecutionProvider / cpu fp16 PASS (32.6s, 180.5MB)
L1 CPUExecutionProvider / cpu fp16 PASS 63.25 ms 15.81 sps +422.6 MB
L2 CPUExecutionProvider / cpu fp16 PASS cosine=1.0, max_abs=3.10e-3
L3 CPUExecutionProvider / cpu fp16 CLI-BLOCKED

L3 CLI-BLOCKED: audio-classification task not supported for eval. Rules parquet unavailable on host.

Delta

  • fp32 recipe: identical to baseline auto-config output
  • fp16 recipe: adds quant block with mode: "fp16" and default calibration settings
  • examples/recipes/README.md untouched

Analyze summary — component level and op level

Static rule analysis: rules parquet unavailable on host. Analyze data could not be produced.

Component-level summary

Artifact Status Notes
fp32 ANALYZE-UNAVAILABLE Rules parquet not available on host
fp16 ANALYZE-UNAVAILABLE Rules parquet not available on host

Op-level summary

Not available — rules parquet unavailable on host.

Reproduce commands

# Build fp32
winml build --model prithivMLmods/Common-Voice-Gender-Detection --config examples/recipes/prithivMLmods_Common-Voice-Gender-Detection/cpu/cpu/audio-classification_fp32_config.json --output $OUT/fp32

# Build fp16
winml build --model prithivMLmods/Common-Voice-Gender-Detection --config examples/recipes/prithivMLmods_Common-Voice-Gender-Detection/cpu/cpu/audio-classification_fp16_config.json --output $OUT/fp16

# Perf fp32
winml perf --model $OUT/fp32 --runs 20

# Perf fp16
winml perf --model $OUT/fp16 --runs 20

@codykk codykk added the model-scale-by-skill Model support PR created or maintained by the adding-model-support skill label Jul 24, 2026
@codykk
codykk marked this pull request as ready for review July 24, 2026 06:47
@codykk
codykk requested a review from a team as a code owner July 24, 2026 06:47
@codykk
codykk force-pushed the recipe/prithivMLmods-common-voice-gender-detection branch from 56e6f97 to afbdfe2 Compare July 24, 2026 06:52
@codykk
codykk enabled auto-merge (squash) July 24, 2026 06:52
@codykk
codykk merged commit 67169d4 into main Jul 24, 2026
9 checks passed
@codykk
codykk deleted the recipe/prithivMLmods-common-voice-gender-detection branch July 24, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model-scale-by-skill Model support PR created or maintained by the adding-model-support skill

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants