Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
snakers4
GitHub Repository: snakers4/silero-vad
Path: blob/master/src/silero_vad/model.py
1171 views
1
from .utils_vad import init_jit_model, OnnxWrapper
2
import torch
3
torch.set_num_threads(1)
4
5
6
def load_silero_vad(onnx=False, opset_version=16):
7
available_ops = [15, 16]
8
if onnx and opset_version not in available_ops:
9
raise Exception(f'Available ONNX opset_version: {available_ops}')
10
11
if onnx:
12
if opset_version == 16:
13
model_name = 'silero_vad.onnx'
14
else:
15
model_name = f'silero_vad_16k_op{opset_version}.onnx'
16
else:
17
model_name = 'silero_vad.jit'
18
package_path = "silero_vad.data"
19
20
try:
21
import importlib_resources as impresources
22
model_file_path = str(impresources.files(package_path).joinpath(model_name))
23
except:
24
from importlib import resources as impresources
25
try:
26
with impresources.path(package_path, model_name) as f:
27
model_file_path = f
28
except:
29
model_file_path = str(impresources.files(package_path).joinpath(model_name))
30
31
if onnx:
32
model = OnnxWrapper(str(model_file_path), force_onnx_cpu=True)
33
else:
34
model = init_jit_model(model_file_path)
35
36
return model
37
38