>> conda create -n wav2vec2 python=3.8
>> conda install pytorch cudatoolkit=11.3 -c pytorch
>> conda install -c conda-forge transformers
1# Load the model and processor
2from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
3import numpy as np
4import torch
5
6model = Wav2Vec2ForCTC.from_pretrained(r'yongjian/wav2vec2-large-a') # Note: PyTorch Model
7processor = Wav2Vec2Processor.from_pretrained(r'yongjian/wav2vec2-large-a')
8
9# Load input
10np_wav = np.random.normal(size=(16000)).clip(-1, 1) # change it to your sample
11
12# Inference
13sample_rate = processor.feature_extractor.sampling_rate
14with torch.no_grad():
15 model_inputs = processor(np_wav, sampling_rate=sample_rate, return_tensors="pt", padding=True)
16 logits = model(model_inputs.input_values, attention_mask=model_inputs.attention_mask).logits # use .cuda() for GPU acceleration
17 pred_ids = torch.argmax(logits, dim=-1).cpu()
18 pred_text = processor.batch_decode(pred_ids)
19print('Transcription:', pred_text)