fix(device): закреплён ONNX CPU для автоматического выбора
This commit is contained in:
1 parent
2b54f5bc9e
commit
937eafe8db
4 files changed
+35
-15
No files matched your search
@@ -200,8 +200,9 @@ class OnnxAsrBackend:
|
||||
model = onnx_asr.load_model(
|
||||
model=model_path,
|
||||
quantization=quantization,
|
||||
providers=["CPUExecutionProvider"],
|
||||
)
|
||||
vad = onnx_asr.load_vad("silero")
|
||||
vad = onnx_asr.load_vad("silero", providers=["CPUExecutionProvider"])
|
||||
self._vad = vad
|
||||
return model.with_vad(vad).with_timestamps()
|
||||
|
||||
@@ -278,7 +279,7 @@ class OnnxAsrBackend:
|
||||
fallback = _whisper_fallback_model(model_name)
|
||||
raise ValueError(
|
||||
f"Модель '{model_name}' относится к Whisper и не поддерживается "
|
||||
"ONNX-бэкендом. Без CUDA --device auto выбирает ONNX; "
|
||||
"ONNX-бэкендом. --device auto всегда выбирает ONNX CPU; "
|
||||
f"укажите --device openvino-cpu --model {model_name} на x86, "
|
||||
f"--device cpu --model {fallback} на любой платформе "
|
||||
f"или --device cuda --model {fallback} при NVIDIA GPU."
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import glob
|
||||
import platform
|
||||
import shutil
|
||||
import subprocess
|
||||
import warnings
|
||||
from pathlib import Path
|
||||
@@ -16,15 +15,13 @@ SUPPORTED_EXTENSIONS = {
|
||||
def detect_device(requested: str = "auto") -> str:
|
||||
"""Определяет устройство для вычислений.
|
||||
|
||||
При ``requested="auto"`` выбирает CUDA при наличии ``nvidia-smi``,
|
||||
иначе ONNX на CPU.
|
||||
При ``requested="auto"`` всегда выбирает ONNX на CPU.
|
||||
CUDA включается только явным выбором пользователя.
|
||||
``"openvino"`` — алиас для авто-детекта внутри OpenVINO
|
||||
(GPU если доступен, иначе CPU).
|
||||
Возвращает всегда конкретное значение (не абстрактный ``"openvino"``).
|
||||
"""
|
||||
if requested == "auto":
|
||||
if shutil.which("nvidia-smi") is not None:
|
||||
return "cuda"
|
||||
return "onnx"
|
||||
if requested == "openvino":
|
||||
if _is_openvino_gpu_available():
|
||||
|
||||
Reference in new issue
Block a user