Spaces:
Running
Running
jhj0517
commited on
Commit
·
50e9f88
1
Parent(s):
bc6b2e9
Get compute types with ctranslate2
Browse files
modules/whisper/faster_whisper_inference.py
CHANGED
|
@@ -35,8 +35,6 @@ class FasterWhisperInference(WhisperBase):
|
|
| 35 |
self.model_paths = self.get_model_paths()
|
| 36 |
self.device = self.get_device()
|
| 37 |
self.available_models = self.model_paths.keys()
|
| 38 |
-
self.available_compute_types = ctranslate2.get_supported_compute_types(
|
| 39 |
-
"cuda") if self.device == "cuda" else ctranslate2.get_supported_compute_types("cpu")
|
| 40 |
|
| 41 |
def transcribe(self,
|
| 42 |
audio: Union[str, BinaryIO, np.ndarray],
|
|
|
|
| 35 |
self.model_paths = self.get_model_paths()
|
| 36 |
self.device = self.get_device()
|
| 37 |
self.available_models = self.model_paths.keys()
|
|
|
|
|
|
|
| 38 |
|
| 39 |
def transcribe(self,
|
| 40 |
audio: Union[str, BinaryIO, np.ndarray],
|
modules/whisper/insanely_fast_whisper_inference.py
CHANGED
|
@@ -35,7 +35,6 @@ class InsanelyFastWhisperInference(WhisperBase):
|
|
| 35 |
openai_models = whisper.available_models()
|
| 36 |
distil_models = ["distil-large-v2", "distil-large-v3", "distil-medium.en", "distil-small.en"]
|
| 37 |
self.available_models = openai_models + distil_models
|
| 38 |
-
self.available_compute_types = ["float16"]
|
| 39 |
|
| 40 |
def transcribe(self,
|
| 41 |
audio: Union[str, np.ndarray, torch.Tensor],
|
|
|
|
| 35 |
openai_models = whisper.available_models()
|
| 36 |
distil_models = ["distil-large-v2", "distil-large-v3", "distil-medium.en", "distil-small.en"]
|
| 37 |
self.available_models = openai_models + distil_models
|
|
|
|
| 38 |
|
| 39 |
def transcribe(self,
|
| 40 |
audio: Union[str, np.ndarray, torch.Tensor],
|
modules/whisper/whisper_base.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import os
|
| 2 |
import torch
|
| 3 |
import whisper
|
|
|
|
| 4 |
import gradio as gr
|
| 5 |
import torchaudio
|
| 6 |
from abc import ABC, abstractmethod
|
|
@@ -47,8 +48,8 @@ class WhisperBase(ABC):
|
|
| 47 |
self.available_langs = sorted(list(whisper.tokenizer.LANGUAGES.values()))
|
| 48 |
self.translatable_models = ["large", "large-v1", "large-v2", "large-v3"]
|
| 49 |
self.device = self.get_device()
|
| 50 |
-
self.available_compute_types =
|
| 51 |
-
self.current_compute_type =
|
| 52 |
|
| 53 |
@abstractmethod
|
| 54 |
def transcribe(self,
|
|
@@ -371,6 +372,18 @@ class WhisperBase(ABC):
|
|
| 371 |
finally:
|
| 372 |
self.release_cuda_memory()
|
| 373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 374 |
@staticmethod
|
| 375 |
def generate_and_write_file(file_name: str,
|
| 376 |
transcribed_segments: list,
|
|
|
|
| 1 |
import os
|
| 2 |
import torch
|
| 3 |
import whisper
|
| 4 |
+
import ctranslate2
|
| 5 |
import gradio as gr
|
| 6 |
import torchaudio
|
| 7 |
from abc import ABC, abstractmethod
|
|
|
|
| 48 |
self.available_langs = sorted(list(whisper.tokenizer.LANGUAGES.values()))
|
| 49 |
self.translatable_models = ["large", "large-v1", "large-v2", "large-v3"]
|
| 50 |
self.device = self.get_device()
|
| 51 |
+
self.available_compute_types = self.get_available_compute_type()
|
| 52 |
+
self.current_compute_type = self.get_compute_type()
|
| 53 |
|
| 54 |
@abstractmethod
|
| 55 |
def transcribe(self,
|
|
|
|
| 372 |
finally:
|
| 373 |
self.release_cuda_memory()
|
| 374 |
|
| 375 |
+
def get_compute_type(self):
|
| 376 |
+
if "float16" in self.available_compute_types:
|
| 377 |
+
return "float16"
|
| 378 |
+
else:
|
| 379 |
+
return self.available_compute_types[0]
|
| 380 |
+
|
| 381 |
+
def get_available_compute_type(self):
|
| 382 |
+
if self.device == "cuda":
|
| 383 |
+
return ctranslate2.get_supported_compute_types("cuda")
|
| 384 |
+
else:
|
| 385 |
+
return ctranslate2.get_supported_compute_types("cpu")
|
| 386 |
+
|
| 387 |
@staticmethod
|
| 388 |
def generate_and_write_file(file_name: str,
|
| 389 |
transcribed_segments: list,
|