microsoft / microsoft/winml-cli

[Test] Fix 6 skipped + 1 xfailed architecture export tests

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

@tezheng is already working on this.

Since Mar 31, 2026.

model / task scale P1 triaged
Dominant language
Python
Stars
40
Forks
11
Avg merge
1d 8h
Merged PRs (30d)
50

Description

Parent Issue

Subtask of #203

Problem

7 architectures in tests/export/test_all_architectures_io.py cannot be fully validated:

  • 6 skipped: AutoConfig.for_model() returns no config class (composite/meta architectures)
  • 1 xfailed: Optimum bug in speecht5 OnnxConfig

Skipped Architectures (6)

These architectures require manual HF config construction because AutoConfig.for_model() doesn't support them directly.

1. internlm2 (text_decoder)
  • Reason: Not registered in transformers AutoConfig mapping
  • Fix: Create InternLM2Config manually or use LlamaConfig as base (InternLM2 shares Llama architecture)
2. siglip-text-with-projection (multimodal)
  • Reason: Sub-component of SigLIP, not a standalone model
  • Fix: Extract text config from SiglipConfig via siglip_config.text_config
3. siglip-text (multimodal)
  • Reason: Sub-component of SigLIP
  • Fix: Same as above - extract from parent config
4. musicgen (audio)
  • Reason: Composite model with text encoder + audio decoder
  • Fix: Create MusicgenConfig with sub-configs: MusicgenDecoderConfig + T5Config
5. vision-encoder-decoder (seq2seq)
  • Reason: Meta architecture requiring encoder + decoder configs
  • Fix: Create VisionEncoderDecoderConfig from ViTConfig (encoder) + GPT2Config (decoder)
6. encoder-decoder (seq2seq)
  • Reason: Meta architecture requiring encoder + decoder configs
  • Fix: Create EncoderDecoderConfig from BertConfig (encoder) + BertConfig (decoder)

XFailed Architecture (1)

7. speecht5 (audio)
  • Reason: SpeechT5OnnxConfig._behavior is not set when task="text-to-audio" with default SpeechT5Config
  • Root cause: Optimum's SpeechT5OnnxConfig.__init__ expects a specific _behavior attribute that the default config doesn't provide
  • Fix options:
    • A) File upstream Optimum bug report
    • B) Construct config with correct _behavior attribute manually
    • C) Override with ModelKit's own register_onnx_overwrite

Acceptance Criteria

  • All 6 skipped tests converted to PASSED
  • speecht5 xfail resolved (either fixed or documented as upstream bug)
  • Zero regressions in existing 144 passing tests
  • Total: 151/151 passing (0 skipped, 0 xfailed)

Files to Modify

  • tests/export/test_all_architectures_io.py - Add manual config construction for skipped architectures
  • tests/export/conftest.py - Add new config fixtures if needed

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.