winml catalog¶
Browse the curated winml-cli catalog of validated models and benchmarks.
When to use this¶
Use winml catalog to discover which HuggingFace models have been validated end-to-end
by the winml-cli team — exported, quantized, compiled, and benchmarked on real Windows
ML devices. It is the starting point when you want a model that is known to work
before investing time in a custom build.
Synopsis¶
Flags¶
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--model-type |
string | null |
Filter the catalog by model architecture (case-insensitive). Examples: bert, roberta, vit. |
|
--task |
-t |
string | null |
Filter by HuggingFace task (case-insensitive). Examples: text-classification, image-segmentation. |
--ep/--execution-provider |
string | null |
Filter by execution provider (e.g., qnn, dml). If not specified, shows all EPs. |
|
--device |
-d |
string | null |
Filter by target device (e.g., npu, gpu). If not specified, shows all devices. |
--output |
-o |
path | null |
Save the displayed results to a JSON file. |
--help |
-h |
flag | — | Show help and exit. |
winml catalogreads a local catalog bundled with the package — no network access is required.
How it works¶
The catalog is stored in winml/modelkit/data/hub_models.json and is loaded
directly from the installed package data without any network call. Each catalog
entry records the model ID, task, architecture type, and model size. Use
--model-type, --task, --ep, or --device to narrow the displayed list.
When --output is provided, the filtered results are written as indented JSON
to the specified path.
Examples¶
+--- winml-cli Catalog | 12 validated model(s) --------------------------+
| Model Task Model Type |
| microsoft/resnet-50 image-classification resnet |
| bert-base-uncased fill-mask bert |
| ProsusAI/finbert text-classification bert |
| ... |
+---------------------------------------------------------------------------+
Use --ep or --device to filter by execution provider or target device.
# Combine filters — BERT models for text classification
$ winml catalog --model-type bert --task text-classification
# Save filtered results to JSON for offline review
$ winml catalog --task image-classification --output results/image_catalog.json
Common pitfalls¶
- The catalog reflects a point-in-time snapshot. Models listed in the catalog were validated against a specific version of winml-cli, ONNX Runtime, and the relevant EP driver. Accuracy and latency may differ on your hardware or with updated drivers.
--outputonly saves what was displayed. Combining a filter with--outputsaves the filtered list. There is no flag to dump the entire catalog in one call — omit all filters and add--outputto do so.- A model not in the catalog can still be used with winml-cli. The catalog covers
tested models;
winml inspectandwinml exportwork with any HuggingFace model that has a supported architecture, whether or not it appears in the catalog.
See also¶
- inspect.md — check loader, exporter, and task detection for any HuggingFace model ID
- sys.md — verify your environment and EP availability before building
- How winml-cli Works — pipeline overview from export to benchmark
- Quantization & QDQ — understand quantization concepts and precision options