Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available: 6.24.0
metadata
title: Inference Half Duplex
emoji: 🚀
colorFrom: gray
colorTo: purple
sdk: gradio
python_version: '3.11'
app_file: app.py
license: apache-2.0
Inference Half Duplex
This folder is for the minimized ONNX inference demo.
Hugging Face Spaces
This repo can run as a Gradio Space. Create a new Space with the Gradio SDK,
then push this repository, including app.py, requirements.txt,
packages.txt, runtime.txt, and the models/ directory.
The app downloads anyreach-ai/dualturn-qwen2.5-mimi-0.5B on first use, so the
first run can take a while. If you use a CPU Space, leave the device set to
cpu; on GPU Spaces the UI defaults to cuda.
Models
models/pvad_core.onnx: exported Personal VAD core fromvad_lstm_personal_light_lstm_fixed.safetensors.models/silero_vad.jit: Silero VAD frontend used to computevad_scoreforpvad_core.onnx.
pvad_core.onnx expects the Silero VAD score to be computed outside the graph.
check_pipeline.py does this with models/silero_vad.jit.
Inputs:
frame_pcm: float32[batch, 512]target_vector: float32[batch, 16]vad_score: float32[batch, 1]h0: float32[1, batch, 64]c0: float32[1, batch, 64]
Outputs:
final_prob: target probability after multiplying byvad_scoreraw_prob: raw target/non-target probabilityframe_embed: 16-dim frame embeddinghn,cn: next LSTM state
Re-export from the source repo:
cd /Utilisateurs/tnguye28/vad-lstm
UV_CACHE_DIR=/tmp/uv-cache NUMBA_CACHE_DIR=/tmp/numba-cache uv run python scripts/export_pvad_core_onnx.py --output /Utilisateurs/tnguye28/inference-half-duplex/models/pvad_core.onnx
Run the pipeline smoke test:
cd /Utilisateurs/tnguye28/inference-half-duplex
UV_CACHE_DIR=/tmp/uv-cache NUMBA_CACHE_DIR=/tmp/numba-cache uv run python check_pipeline.py
Run the Gradio demo:
cd /Utilisateurs/tnguye28/vad-lstm
GRADIO_SERVER_PORT=8787 UV_CACHE_DIR=/tmp/uv-cache NUMBA_CACHE_DIR=/tmp/numba-cache uv run python /Utilisateurs/tnguye28/inference-half-duplex/app.py