iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
自我挑戰組

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

【Day 24】Fine-tuning 的一些準備 - huggingface 上的 Whisper model

  • 分享至 

  • xImage
  •  

就像上一篇說的,huggingface 上有許多模型可以下載來玩
我們就來實際玩看看 huggingface 上的 openai/whisper-small 做為主要模型

Model detail

有點忘記之前有沒有貼過了,這個是 Whisper 的模型大小差異:

Model Layers Width Heads Parameters
Tiny 4 384 6 39M
Base 6 512 8 74M
Small 12 768 12 244M
Medium 24 1024 16 769M
Large 32 1280 20 1550M

出自 Whisper-paper

Usage

這邊想稍微提一下 WhisperProcesser ,裡面有說到有關於 special_token 這個東西
在我的理解中,他其實就是特殊 token

有用兩個 <|, |> 框起來的應該就是指 token

那就先來處理環境啦

!pip install datasets
!pip install git+https://github.com/huggingface/transformers
!pip install librosa

我 transformers 是 pip install transformers 好像也可

接著把套件 import 進來

from transformers import WhisperProcessor, WhisperForConditionalGeneration
from datasets import Audio, load_dataset

而這邊範例是 whisper-small 模型,如果想要厲害一點也可以換成 medium
不過那就必須注意一下自己的 GPU 規格喔,不然可能用到後面會有問題,或是他直接切成 CPU

我們就乖乖用 small

# load model and processor
processor = WhisperProcessor.from_pretrained("openai/whisper-small")
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-small")
forced_decoder_ids = processor.get_decoder_prompt_ids(language="chinese", task="translate")

官方文件用法文來做測試,我們可以直接改成中文版本

然後把 datasets 下載進本地端

# load streaming dataset and read first audio sample
ds = load_dataset("common_voice", "zh-TW", split="test", streaming=True)
ds = ds.cast_column("audio", Audio(sampling_rate=16_000))

本來以為沒什麼問題,結果就出事了

input_speech = next(iter(ds))["audio"]
input_features = processor(input_speech["array"], sampling_rate=input_speech["sampling_rate"], return_tensors="pt").input_features

Windows 這邊跑完這段就出現 ModuleNotFoundError: No module named 'soundfile'ImportError: To support encoding audio data, please install 'soundfile'. 這兩個問題
後來發現應該是套件沒裝好

就決定...交給明天的自己!!!

Ref.

小心得

國慶真快樂


上一篇
【Day 23】Fine-tuning 的一些準備 - huggingface
下一篇
【Day 25】Fine-tuning 的一些準備 - huggingface 上的 Whisper model (cont.)
系列文
深度學習的學習 & ASR 中文語音辨識30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言