Spaces:
Running
Running
Enhancing the Execution of torch.hub.load(snakers4/silero-vad) in vad.py
Browse filesOccasionally, torch.hub.load may encounter an HTTP Error 500: Internal Server Error. Now, if the model already exists in the cache directory, it will utilize the cache rather than causing an interruption.
- src/vad.py +17 -1
src/vad.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
from abc import ABC, abstractmethod
|
| 2 |
from collections import Counter, deque
|
|
|
|
| 3 |
import time
|
| 4 |
|
| 5 |
from typing import Any, Deque, Iterator, List, Dict
|
|
@@ -449,7 +450,22 @@ class VadSileroTranscription(AbstractTranscription):
|
|
| 449 |
print("Created Silerio model")
|
| 450 |
|
| 451 |
def _create_model(self):
|
| 452 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 453 |
|
| 454 |
# Silero does not benefit from multi-threading
|
| 455 |
torch.set_num_threads(1) # JIT
|
|
|
|
| 1 |
from abc import ABC, abstractmethod
|
| 2 |
from collections import Counter, deque
|
| 3 |
+
import os
|
| 4 |
import time
|
| 5 |
|
| 6 |
from typing import Any, Deque, Iterator, List, Dict
|
|
|
|
| 450 |
print("Created Silerio model")
|
| 451 |
|
| 452 |
def _create_model(self):
|
| 453 |
+
repo_owner = "snakers4"
|
| 454 |
+
repo_name = "silero-vad"
|
| 455 |
+
ref = "master"
|
| 456 |
+
|
| 457 |
+
try:
|
| 458 |
+
model, utils = torch.hub.load(repo_or_dir=f'{repo_owner}/{repo_name}', model='silero_vad')
|
| 459 |
+
except Exception as e:
|
| 460 |
+
hub_dir = torch.hub.get_dir()
|
| 461 |
+
owner_name_branch = '_'.join([repo_owner, repo_name, ref])
|
| 462 |
+
repo_dir = os.path.join(hub_dir, owner_name_branch)
|
| 463 |
+
if os.path.exists(repo_dir):
|
| 464 |
+
print(f"vad.py: torch.hub.load({repo_owner}/{repo_name}) Exception: {str(e)}, Using cache found in {repo_dir}\n")
|
| 465 |
+
model, utils = torch.hub.load(repo_or_dir=repo_dir, model='silero_vad', source="local")
|
| 466 |
+
else:
|
| 467 |
+
raise
|
| 468 |
+
|
| 469 |
|
| 470 |
# Silero does not benefit from multi-threading
|
| 471 |
torch.set_num_threads(1) # JIT
|