INNER CODE UNIT · Python
__init__
sanchit-gandhi/whisper-jax · benchmarks/run_pipeline_dataloader.py:14
def __init__(self, checkpoint="openai/whisper-tiny.en"):
self.checkpoint = checkpoint
self.processor = WhisperProcessor.from_pretrained(self.checkpoint)
self.feature_extractor = self.processor.feature_extractor
self.tokenizer = self.processor.tokenizer
@staticmethod
def chunk_iter(inputs, feature_extractor, chunk_len, stride_left, stride_right):
inputs_len = inputs.shape[0]
step = chunk_len - stride_left - stride_right
for chunk_start_idx in range(0, inputs_len, step):
chunk_end_idx = chunk_start_idx + chunk_len
chunk = inputs[chunk_start_idx:chunk_end_idx]
processed = feature_extractor(chunk, sampling_rate=feature_extractor.sampling_rate, return_tensors="np")
_stride_left = 0 if chunk_start_idx == 0 else stride_left
# all right strides must be full, otherwise it is the last item
is_last = chunk_end_idx > inputs_len if stride_right > 0 else chunk_end_idx >= inputs_len
_stride_right = 0 if is_last else stride_right