@@ -22,6 +22,7 @@ Arguments:
2222 - mistralai/Voxtral-Mini-4B-Realtime-2602
2323 - openai/whisper series (whisper-{small, medium, large, large-v2, large-v3, large-v3-turbo})
2424 - google/gemma-3-4b-it
25+ - nvidia/diar_streaming_sortformer_4spk-v2
2526 - nvidia/parakeet-tdt
2627
2728 quant_name Quantization type (optional, default: non-quantized)
@@ -45,6 +46,7 @@ Examples:
4546 export_model_artifact.sh metal "mistralai/Voxtral-Mini-4B-Realtime-2602" "quantized-int4-metal"
4647 export_model_artifact.sh metal "mistralai/Voxtral-Mini-4B-Realtime-2602" "non-quantized" "." "vr-streaming"
4748 export_model_artifact.sh cuda "mistralai/Voxtral-Mini-3B-2507" "quantized-int4-tile-packed"
49+ export_model_artifact.sh cuda-windows "nvidia/diar_streaming_sortformer_4spk-v2" "non-quantized" "./output"
4850 export_model_artifact.sh cuda "google/gemma-3-4b-it" "non-quantized" "./output"
4951 export_model_artifact.sh cuda "nvidia/parakeet-tdt" "non-quantized" "./output"
5052 export_model_artifact.sh xnnpack "nvidia/parakeet-tdt" "quantized-8da4w" "./output"
@@ -157,6 +159,14 @@ case "$HF_MODEL" in
157159 PREPROCESSOR_FEATURE_SIZE=" "
158160 PREPROCESSOR_OUTPUT=" "
159161 ;;
162+ nvidia/diar_streaming_sortformer_4spk-v2)
163+ MODEL_NAME=" sortformer"
164+ TASK=" "
165+ MAX_SEQ_LEN=" "
166+ EXTRA_PIP=" "
167+ PREPROCESSOR_FEATURE_SIZE=" "
168+ PREPROCESSOR_OUTPUT=" "
169+ ;;
160170 mistralai/Voxtral-Mini-4B-Realtime-2602)
161171 MODEL_NAME=" voxtral_realtime"
162172 TASK=" "
@@ -167,7 +177,7 @@ case "$HF_MODEL" in
167177 ;;
168178 * )
169179 echo " Error: Unsupported model '$HF_MODEL '"
170- echo " Supported models: mistralai/Voxtral-Mini-3B-2507, mistralai/Voxtral-Mini-4B-Realtime-2602, openai/whisper-{small, medium, large, large-v2, large-v3, large-v3-turbo}, google/gemma-3-4b-it, Qwen/Qwen3-0.6B, nvidia/parakeet-tdt"
180+ echo " Supported models: mistralai/Voxtral-Mini-3B-2507, mistralai/Voxtral-Mini-4B-Realtime-2602, openai/whisper-{small, medium, large, large-v2, large-v3, large-v3-turbo}, google/gemma-3-4b-it, Qwen/Qwen3-0.6B, nvidia/diar_streaming_sortformer_4spk-v2, nvidia/ parakeet-tdt"
171181 exit 1
172182 ;;
173183esac
@@ -247,6 +257,42 @@ if [ "$MODEL_NAME" = "parakeet" ]; then
247257 exit 0
248258fi
249259
260+ # Sortformer uses a custom export script
261+ if [ " $MODEL_NAME " = " sortformer" ]; then
262+ if [ " $QUANT_NAME " != " non-quantized" ]; then
263+ echo " Error: Sortformer currently supports only non-quantized export"
264+ exit 1
265+ fi
266+
267+ pip install -r examples/models/sortformer/install_requirements.txt
268+
269+ SORTFORMER_BACKEND=" $DEVICE "
270+ if [ " $DEVICE " = " cuda-windows" ]; then
271+ SORTFORMER_BACKEND=" cuda-windows"
272+ elif [ " $DEVICE " = " cuda" ]; then
273+ SORTFORMER_BACKEND=" cuda"
274+ elif [ " $DEVICE " = " xnnpack" ]; then
275+ SORTFORMER_BACKEND=" xnnpack"
276+ else
277+ SORTFORMER_BACKEND=" portable"
278+ fi
279+
280+ python -m executorch.examples.models.sortformer.export_sortformer \
281+ --hf-model " ${HF_MODEL} " \
282+ --backend " ${SORTFORMER_BACKEND} " \
283+ --output-dir " ${OUTPUT_DIR} "
284+
285+ test -f " ${OUTPUT_DIR} /sortformer.pte"
286+ mv " ${OUTPUT_DIR} /sortformer.pte" " ${OUTPUT_DIR} /model.pte"
287+ # CUDA saves named data to separate .ptd file, XNNPACK/portable do not.
288+ if [ " $DEVICE " = " cuda" ] || [ " $DEVICE " = " cuda-windows" ]; then
289+ test -f " ${OUTPUT_DIR} /aoti_cuda_blob.ptd"
290+ fi
291+ ls -al " ${OUTPUT_DIR} "
292+ echo " ::endgroup::"
293+ exit 0
294+ fi
295+
250296# Voxtral Realtime uses a custom export script
251297if [ " $MODEL_NAME " = " voxtral_realtime" ]; then
252298 pip install safetensors huggingface_hub
@@ -296,6 +342,9 @@ if [ "$MODEL_NAME" = "voxtral_realtime" ]; then
296342
297343 test -f " ${OUTPUT_DIR} /model.pte"
298344 test -f " ${OUTPUT_DIR} /preprocessor.pte"
345+ if [ " $DEVICE " = " cuda" ] || [ " $DEVICE " = " cuda-windows" ]; then
346+ test -f " ${OUTPUT_DIR} /aoti_cuda_blob.ptd"
347+ fi
299348 # Copy tokenizer from downloaded model weights
300349 cp " $LOCAL_MODEL_DIR /tekken.json" " ${OUTPUT_DIR} /tekken.json"
301350 ls -al " ${OUTPUT_DIR} "
0 commit comments