🚀 MahaDhwani預訓練Conformer模型
MahaDhwani預訓練Conformer是一個基於自監督學習的預訓練Conformer編碼器模型,在MahaDhwani數據集上進行訓練,可用於自動語音識別任務。
🚀 快速開始
安裝
要加載、訓練、微調或使用該模型,你需要安裝 AI4Bharat NeMo。推薦使用以下命令進行安裝:
git clone https://github.com/AI4Bharat/NeMo.git && cd NeMo && git checkout nemo-v2 && bash reinstall.sh
使用示例
基礎用法
從Huggingface下載並加載模型:
import pydub
import numpy as np
import torch
import nemo.collections.asr as nemo_asr
model = nemo_asr.models.ASRModel.from_pretrained("ai4bharat/MahaDhwani_pretrained_conformer")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.freeze()
model = model.to(device)
在終端中運行以下命令,將音頻轉換為16000 Hz單聲道:
ffmpeg -i sample_audio.wav -ac 1 -ar 16000 sample_audio_infer_ready.wav
高級用法
進行推理:
wavpath = 'sample.wav'
wav = pydub.AudioSegment.from_file(wavpath).set_frame_rate(16000).set_channels(1)
sarray = wav.get_array_of_samples()
fp_arr = np.array(sarray).T.astype(np.float64)
fp_arr = fp_arr.reshape((1,-1))
feature = torch.from_numpy(fp_arr).float().to(device='cuda')
length=torch.tensor([fp_arr.shape[1]]).to(device='cuda')
spectrograms, spec_masks, encoded, encoded_len = model(input_signal=feature,input_signal_length=length)
✨ 主要特性
- 多語言支持:模型的訓練數據包含印度22種預定語言的數據。
- 輸入要求:接受16000 KHz單聲道音頻(wav文件)作為輸入。
- 輸出形式:為給定的音頻樣本提供Conformer編碼器嵌入作為輸出。
🔧 技術細節
模型架構
該模型是一個Conformer-Large模型,使用包含1.2億參數的編碼器。模型有17個Conformer塊,模型維度為512。
📄 許可證
本項目採用MIT許可證。
📚 詳細文檔
屬性 |
詳情 |
模型類型 |
自監督預訓練Conformer編碼器模型 |
訓練數據 |
包含印度22種預定語言的數據 |
輸入要求 |
16000 KHz單聲道音頻(wav文件) |
輸出形式 |
Conformer編碼器嵌入 |