snakers4 / silero-vad

Silero VAD: pre-trained enterprise-grade Voice Activity Detector
MIT License
4.32k stars 417 forks source link

Bug report - Opset 16 unsupported on Windows 11 #355

Closed RobinWragg closed 4 months ago

RobinWragg commented 1 year ago

🐛 Bug

An exception is thrown when attempting to create a session with silero_vad.onnx using winrt::Windows::AI::MachineLearning. It appears that silero_vad.onnx is using Opset 16, which I believe is not supported on Windows 11.

To Reproduce

Run the following C++ code in Visual Studio.

using namespace winrt::Windows::AI::MachineLearning;
auto model = LearningModel::LoadFromFilePath(L"C:/Users/robin/Downloads/silero-vad-master/silero-vad-master/files/silero_vad.onnx");
auto session = LearningModelSession(model); // Exceptions thrown

The following appears in the Output window.

Exception thrown at 0x00007FFA89394B2C in MyApp.exe: Microsoft C++ exception: onnxruntime::OnnxRuntimeException at memory location 0x000000C6066FC440.
Exception thrown at 0x00007FFA89394B2C (KernelBase.dll) in MyApp.exe: WinRT originate error - 0x80070057 : 'Failed to load model with error: D:\a\_work\1\s\engine\lotus\onnxruntime\core/graph/model_load_utils.h:57 onnxruntime::model_load_utils::ValidateOpsetForDomain ONNX Runtime only *guarantees* support for models stamped with official released onnx opset versions. Opset 16 is under development and support for this is limited. The operator schemas and or other functionality may change before next ONNX release and in this case ONNX Runtime will not guarantee backward compatibility. Current official support for d'
Exception thrown at 0x00007FFA89394B2C in MyApp.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000C6066FD218.

Expected behavior

A LearningModelSession object should be successfully created.

Environment

PyTorch version: 2.0.1+cu117 Is debug build: False CUDA used to build PyTorch: 11.7 ROCM used to build PyTorch: N/A

OS: Microsoft Windows 11 Pro GCC version: Could not collect Clang version: 10.0.0 CMake version: version 3.23.2 Libc version: N/A

Python version: 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] (64-bit runtime) Python platform: Windows-10-10.0.22621-SP0 Is CUDA available: True CUDA runtime version: 11.0.221 CUDA_MODULE_LOADING set to: LAZY GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3070 Ti Nvidia driver version: 531.29 cuDNN version: Could not collect HIP runtime version: N/A MIOpen runtime version: N/A Is XNNPACK available: True

CPU: Architecture=9 CurrentClockSpeed=3501 DeviceID=CPU0 Family=1 L2CacheSize=4096 L2CacheSpeed= Manufacturer=GenuineIntel MaxClockSpeed=3501 Name=11th Gen Intel(R) Core(TM) i7-11700KF @ 3.60GHz ProcessorType=3 Revision=

Versions of relevant libraries: [pip3] numpy==1.24.3 [pip3] pytorch-lightning==2.0.5 [pip3] pytorch-metric-learning==2.2.0 [pip3] torch==2.0.1+cu117 [pip3] torch-audiomentations==0.11.0 [pip3] torch-pitch-shift==1.2.4 [pip3] torchaudio==2.0.2 [pip3] torchmetrics==1.0.0 [pip3] torchvision==0.15.2 [conda] Could not collect

snakers4 commented 4 months ago

The new VAD version was released just now - https://github.com/snakers4/silero-vad/issues/2#issuecomment-2195433115

It was packed into ONNX with opset 16

It the issue still persists please open another issue