Merge branch 'collabora:main' into main
This commit is contained in:
+3
-2
@@ -37,10 +37,10 @@ python -c "import torch; import tensorrt; import tensorrt_llm"
|
|||||||
- We build `small.en` and `small` multilingual TensorRT engine. The script logs the path of the directory with Whisper TensorRT engine. We need the model_path to run the server.
|
- We build `small.en` and `small` multilingual TensorRT engine. The script logs the path of the directory with Whisper TensorRT engine. We need the model_path to run the server.
|
||||||
```bash
|
```bash
|
||||||
# convert small.en
|
# convert small.en
|
||||||
bash build_whisper_tensorrt /root/TensorRT-LLM-examples small.en
|
bash scripts/build_whisper_tensorrt.sh /root/TensorRT-LLM-examples small.en
|
||||||
|
|
||||||
# convert small multilingual model
|
# convert small multilingual model
|
||||||
bash build_whisper_tensorrt /root/TensorRT-LLM-examples small
|
bash scripts/build_whisper_tensorrt.sh /root/TensorRT-LLM-examples small
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run WhisperLive Server with TensorRT Backend
|
## Run WhisperLive Server with TensorRT Backend
|
||||||
@@ -48,6 +48,7 @@ bash build_whisper_tensorrt /root/TensorRT-LLM-examples small
|
|||||||
cd /home/WhisperLive
|
cd /home/WhisperLive
|
||||||
|
|
||||||
# Install requirements
|
# Install requirements
|
||||||
|
bash scripts/setup.sh
|
||||||
pip install -r requirements/server.txt
|
pip install -r requirements/server.txt
|
||||||
|
|
||||||
# Required to create mel spectogram
|
# Required to create mel spectogram
|
||||||
|
|||||||
@@ -2,4 +2,8 @@ faster-whisper==0.10.0
|
|||||||
torch
|
torch
|
||||||
websockets
|
websockets
|
||||||
onnxruntime==1.16.0
|
onnxruntime==1.16.0
|
||||||
numba
|
numba
|
||||||
|
openai-whisper
|
||||||
|
kaldialign
|
||||||
|
soundfile
|
||||||
|
ffmpeg-python
|
||||||
|
|||||||
@@ -398,6 +398,7 @@ class ServeClientTensorRT(ServeClientBase):
|
|||||||
language=self.language,
|
language=self.language,
|
||||||
task=self.task
|
task=self.task
|
||||||
)
|
)
|
||||||
|
self.warmup()
|
||||||
|
|
||||||
# threading
|
# threading
|
||||||
self.trans_thread = threading.Thread(target=self.speech_to_text)
|
self.trans_thread = threading.Thread(target=self.speech_to_text)
|
||||||
@@ -411,6 +412,12 @@ class ServeClientTensorRT(ServeClientBase):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def warmup(self, warmup_steps=10):
|
||||||
|
logging.info("[INFO:] Warming up TensorRT engine..")
|
||||||
|
mel, duration = self.transcriber.log_mel_spectrogram("tests/jfk.flac")
|
||||||
|
for i in range(warmup_steps):
|
||||||
|
last_segment = self.transcriber.transcribe(mel)
|
||||||
|
|
||||||
def set_eos(self, eos):
|
def set_eos(self, eos):
|
||||||
self.lock.acquire()
|
self.lock.acquire()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import numpy as np
|
|||||||
from whisper.tokenizer import get_tokenizer
|
from whisper.tokenizer import get_tokenizer
|
||||||
from whisper_live.tensorrt_utils import (mel_filters, store_transcripts,
|
from whisper_live.tensorrt_utils import (mel_filters, store_transcripts,
|
||||||
write_error_stats, load_audio_wav_format,
|
write_error_stats, load_audio_wav_format,
|
||||||
pad_or_trim)
|
pad_or_trim, load_audio)
|
||||||
|
|
||||||
import tensorrt_llm
|
import tensorrt_llm
|
||||||
import tensorrt_llm.logger as logger
|
import tensorrt_llm.logger as logger
|
||||||
@@ -337,4 +337,4 @@ def decode_wav_file(
|
|||||||
if normalizer:
|
if normalizer:
|
||||||
prediction = normalizer(prediction)
|
prediction = normalizer(prediction)
|
||||||
|
|
||||||
return prediction.strip()
|
return prediction.strip()
|
||||||
|
|||||||
Reference in New Issue
Block a user