JacobLinCool commited on
Commit
7f74ea0
·
1 Parent(s): 5ece751

feat: dynamic zero gpu time

Browse files
Files changed (1) hide show
  1. model.py +10 -1
model.py CHANGED
@@ -1,6 +1,7 @@
1
  from transformers import pipeline
2
  from accelerate import Accelerator
3
  import spaces
 
4
 
5
  model_id = "JacobLinCool/whisper-large-v3-turbo-common_voice_19_0-zh-TW"
6
 
@@ -13,7 +14,15 @@ def load_model():
13
  pipe = pipeline("automatic-speech-recognition", model=model_id, device=device)
14
 
15
 
16
- @spaces.GPU()
 
 
 
 
 
 
 
 
17
  def transcribe_audio_local(audio: str) -> str:
18
  print(f"{audio=}")
19
 
 
1
  from transformers import pipeline
2
  from accelerate import Accelerator
3
  import spaces
4
+ import librosa
5
 
6
  model_id = "JacobLinCool/whisper-large-v3-turbo-common_voice_19_0-zh-TW"
7
 
 
14
  pipe = pipeline("automatic-speech-recognition", model=model_id, device=device)
15
 
16
 
17
+ def get_gpu_duration(audio: str) -> int:
18
+ y, sr = librosa.load(audio)
19
+ duration = librosa.get_duration(y=y, sr=sr) / 60.0
20
+ gpu_duration = (duration + 59.0) // 60.0
21
+ print(f"{duration=}, {gpu_duration=}")
22
+ return max(1, int(gpu_duration))
23
+
24
+
25
+ @spaces.GPU(duration=get_gpu_duration)
26
  def transcribe_audio_local(audio: str) -> str:
27
  print(f"{audio=}")
28