Canary 1b v2 Onnx
ONNX export of nvidia/canary-1b-v2 whose encoder is re-exported in the TorchScript idiom (torch.onnx.export(dynamo=False)), so the model runs on the ONNX Runtime DirectML EP (and every other EP).
Model source
- Kind
- Other
- File size
- 1.20 MB–1.53 GB
- Base model
- nvidia/canary-1b-v2
- Version
- vRevision f223cdf
- Updated
- Sep 26, 2026
- Downloads
- 5
- Source
- Hugging Face
Source description
NVIDIA canary-1b-v2 — DirectML-safe ONNX
ONNX export of nvidia/canary-1b-v2 whose encoder is re-exported
in the TorchScript idiom (torch.onnx.export(dynamo=False)), so the model runs on the ONNX Runtime
DirectML EP (and every other EP).
Why
istupakov's canary-1b-v2-onnx encoder is a torch-dynamo export. On the DirectML EP it is a two-sided
trap (isolated by graph bisection): dynamic shapes crash the Reshape/attention kernels
(MLOperatorAuthorImpl.cpp:2597, then a D3D12 device-removal 887A0020), and forcing static shapes
fails session creation in InferAndVerifyOutputSizes (:2853) — both unfixed ORT-DML defects around
the dynamo view idiom (upstream onnxruntime #26826 / #26944; the DML EP is in maintenance mode).
NVIDIA's Parakeet FastConformer, exported via TorchScript, runs fine on DML — so this repo re-exports
the same encoder the same way.
What changed
encoder-model.onnx(+encoder-model.int8.onnx): re-exported from thenvidia/canary-1b-v2NeMo checkpoint viatorch.onnx.export(dynamo=False, opset=17), same I/O contract as istupakov (audio_signal[B,128,T],length[B]→encoder_embeddings[B,S,1024],encoder_mask[B,S]). Numerically identical to istupakov's encoder on CPU (max|Δ| ≈ 4e-6 — export-tracer float noise).decoder-model.onnx/decoder-model.int8.onnx/config.json/vocab.txt: unchanged from istupakov/canary-1b-v2-onnx — the DML crash was encoder-only; the AED decoder is byte-for-byte the same.
Produced by WinSTT's canary_encoder_export.py.
Sources
1 source
Sources
1 sourceVerified Sep 6
Download files
Model artifacts
9 artifacts
Model artifacts
9 artifactsSource excerpts
2 excerpts
Source excerpts
2 excerpts--- license: cc-by-4.0 language: - en - de - es - fr pipeline_tag: automatic-speech-recognition tags: - automatic-speech-recognition - onnx - directml - nemo - canary base_model: - nvidia/canary-1b-v2 --- # NVIDIA canary-1b-v2 — DirectML-safe ONNX ONNX export of [nvidia/canary-1b-v2](https://huggingface.co/nvidia/canary-1b-v2) whose **encoder is re-exported in the TorchScript idiom** (`torch.onnx.export(dynamo=False)`), so the model runs on the ONNX Runtime **DirectML EP** (and every other EP). ## Why istupakov's `canary-1b-v2-onnx` encoder is a torch-**dynamo** export. On the DirectML EP it is a two-sided trap (isolated by graph bisection): dynamic shapes crash the Reshape/attention kernels (`MLOperatorAuthorImpl.cpp:2597`, then a D3D12 device-removal `887A0020`), and forcing static shapes fails session creation in `InferAndVerifyOutputSizes` (`:2853`) — both unfixed ORT-DML defects around the dynamo `view` idiom (upstream onnxruntime #26826 / #26944; the DML EP is in maintenance mode). NVIDIA's Parakeet FastConformer, exported via TorchScript, runs fine on DML — so this repo re-exports the **same encoder** the same way. ## What changed - `encoder-model.onnx` (+ `encoder-model.int8.onnx`): re-exported from the `nvidia/canary-1b-v2` NeMo checkpoint via `torch.onnx.export(dynamo=False, opset=17)`, same I/O contract as istupakov (`audio_signal[B,128,T]`, `length[B]` → `encoder_embeddings[B,S,1024]`, `encoder_mask[B,S]`). Numerically identical to istupakov's encoder on CPU (max|Δ| ≈ 4e-6 — export-tracer float noise). - `decoder-model.onnx` / `decoder-model.int8.onnx` / `config.json` / `vocab.txt`: **unchanged** from [istupakov/canary-1b-v2-onnx](https://huggingface.co/istupakov/canary-1b-v2-onnx) — the DML crash was encoder-only; the AED decoder is byte-for-byte the same. Produced by [WinSTT](https://github.com/dahshury/WinSTT)'s `canary_encoder_export.py`.
Source context: 5 downloads · 0 likes · Pipeline automatic-speech-recognition · Library nemo · Repo Masterx/canary-1b-v2-onnx
