如何對基於 Kaldi 訓練的模型進行工程化?

時間 2021-06-03 12:16:25

1樓:王金龍

如果你是一家小廠的員工,你廠需要語音識別服務,但是沒有AI團隊,那麼可以購買語音廠商的服務。國內語音識別廠商挺多的,就不給他們打廣告了(又沒給我錢)。

如果你是一家小廠的員工,你廠需要語音識別服務,有一定的AI基礎。有兩種方案,一是花錢找乙個搞解碼器的人;二是跟外面的學校或廠商合作。

如果你是學生或者純粹的語音識別愛好者,會用kaldi訓練模型。想要做乙個識別服務,程序進駐後台,可以接受請求,解碼客戶端發來的語音,然後發回識別結果這種東西。說實話很難,建議還是花時間學點其他東西去吧。

當然有動手能力強的同學,這裡給點思路。

一、識別基本分為三個步驟,一是提取特徵,比如fbank;二是聲學模型計算,比如將fbank特徵送入nnet3模型,得到對於每個pdf-id的後驗概率值;三是結合聲學模型輸出,在HCLG上進行解碼搜尋。

二、kaldi是用c++開發的,對應上面的三個步驟,都有相應的類,來完成相應的功能。你只需要寫乙個大的類,將它們三者封裝起來即可。

三、一般工作時,需要四個介面函式。

1、init。進行初始化,將一些變數置0和清空等。

2、decode。接收語音資料,並不斷處理。這個函式會被呼叫多次。

3、finish。告之解碼結束,將一些快取的資料、特徵之類的處理掉。

4、get_result。獲取識別結果。

假設你是在linux下開發的。你需要額外掌握linux下的網路程式設計和多執行緒程式設計的知識。

如何在pytorch訓練模型的過程中,對於某一層的權重最大最小值進行限制?

sakuraiii import torch from torch import nnclass Model nn Module def init self super Model self init self lin1 nn Linear 5 10,bias False self lin2 nn ...

基於模型的新能源汽車SOC估計例項解析

首先您能提出這個問題證明你現在還沒完全被所謂的學生工作失了心智。你提問大三應該把重心放在學生工作上嘛?我想分兩種情況回答 第一 你家裡條件很好,畢業不用愁工作。這種情況的話就比較自由,想繼續學生工作就繼續,我覺得已經有這麼遠了突然放手兩手空空也會覺得空虛。第二 家裡沒關係沒錢,全都要靠自己。這種情況...

基於布朗運動的永動機模型為何不可行?

Zhu Alex 熱是 分子平均動能 溫度相同表明 兩個物體的分子平均動能相同 結論就是,同溫度的兩個物體的分子之間的碰撞,不會引起分子平均動能的改變。巨集觀中說起碰撞,大家會想起大球A砸小球B,然後小球會獲得能量滾的好遠。因此產生一種印象,即A碰撞B會讓B的能量增加。其實,反向思考,A的能量一定降...