iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
自我挑戰組

深度學習的學習 & ASR 中文語音辨識系列 第 27

【Day 27】Whisper model 的快樂 Fine-tuning 時間 - 2

  • 分享至 

  • xImage
  •  

其實我本來想做專屬自己的 fine-tuned model,但後來考慮到不是每個人都有資料集就想說算了,我們乖乖 fine-tune 中文版的語音模型就好

接著昨天講的,環境的部分已經設置好,現在到 Load Dataset 的地方

Load Dataset

這邊記得上面的 notebook_login() 要先登入才能下載 huggingface 上面的 Datasets

from datasets import load_dataset, DatasetDict

common_voice = DatasetDict()

common_voice["train"] = load_dataset("mozilla-foundation/common_voice_11_0", "zh-TW", split="train+validation", use_auth_token=True)
common_voice["test"] = load_dataset("mozilla-foundation/common_voice_11_0", "zh-TW", split="test", use_auth_token=True)

# Remove useless columns
common_voice = common_voice.remove_columns(["accent", "age", "client_id", "down_votes", "gender", "locale", "path", "segment", "up_votes"])

print(common_voice)

記得中間有個 hi 的地方,我有改成 zh-TW

印出來的結果應該會長成:

DatasetDict({
    train: Dataset({
        features: ['audio', 'sentence'],
        num_rows: 11277
    })
    test: Dataset({
        features: ['audio', 'sentence'],
        num_rows: 4709
    })
})

進一步觀察

common_voice['train'][0]

可以得到

{'audio': {'path': '/root/.cache/huggingface/datasets/downloads/extracted/51e978c47798482641ccccdcb8d659ea097ecfb24e17f8cacf723f3d1da59cd5/zh-TW_train_0/common_voice_zh-TW_17626464.mp3',
  'array': array([ 0.00000000e+00, -6.27062811e-15, -6.86393445e-15, ...,
          2.13285966e-06,  1.94480162e-06, -4.87215766e-06]),
  'sampling_rate': 48000},
 'sentence': '我們一起享用'}

Load Dataset - dataset format

這邊想提一下 dataset 格式,把原本有 train, test 的 common_voice 拆解後裡面其中一條資料會長成上面的樣子

  • data
    • audio
      • array
      • sampling_rate
    • sentence

類似這感覺,換句話說如果我們想要用自己的資料集來 fine-tuned 的話,只要把格式調整成跟上面一樣就可以了

剩下的放到明天說!

小心得

結果開始打程式之後就挺順的呢


上一篇
【Day 26】Whisper model 的快樂 Fine-tuning 時間
下一篇
【Day 28】Whisper model 的快樂 Fine-tuning 時間 - 3
系列文
深度學習的學習 & ASR 中文語音辨識30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言