Introduction to Digital Speech Processing Homework 2

FAQ

  1. 我跑 4-test.sh 的時候會出現很奇怪的結果,例如acc < 0的情況?
  2. 去年我們發現如果同學的電腦是使用M1的話,有可能會產生 acc < 0 之類的情況。有這種情況請想辦法換一個環境,ex:工作站等等。
  3. 如何從docker取出我的作業檔案呢?
    • 你可以在host跑以下指令來複製container裡的檔案
      docker cp CONTAINERID:/opt/kaldi/dsp-hw2-1/4-test.sh ./4-test.sh
    • 你也可以在一開始docker run加入-v來將host上的資料夾接到docker container裡(類似共用資料夾)
      docker run -it -v C:\Users\user\dsp-hw2-1:/opt/kaldi/dsp-hw2-1/ kaldiasr/kaldi:latest bash
    • CONTAINERID可以在host上跑docker ps --all找到
  4. 把docker container關掉後怎麼重新連接進去?
    • 你可以在host跑以下指令來
      docker start CONTAINERID
      docker attach CONTAINERID
    • CONTAINERID可以在host上跑docker ps --all找到
  5. 我跑source 0-activate.sh時出現/bin/sh: 6: source: not found?
  6. source是bash的指令,代表你跑docker run/exec 的時候沒有指定bash所以就變成sh。請在指令加上bash。
  7. 在Virtualbox虛擬機上的Ubuntu裝Docker後,跑到bash 4-test.sh時會出現Illegal instruction (core dump)?
  8. 問題出在utility/HDecode.mod這個binary檔會呼叫某個instruction,而virtualbox好像無法handle。目前還沒有找到解決方法,如果可以的話,請直接在作業系統上安裝該系統的Docker,然後再進行作業。
    如果一定要使用虛擬機,請試試vmware (worstation player),目前助教測過沒有問題。
  9. 我照著投影片上的 work-flow 執行,執行到某個 script 時發生 error ?
  10. 請同學檢查一下:
    • 1. 是不是沒有 source 0-activate.sh,而是用 bash 或是 ./ 執行他
    • 2. 作業是否放在 /opt/kaldi/dsp-hw2-1
  11. 執行 4-test.sh 時得到 0% 的 accuracy
  12. 請檢查檔案viterbi/mono/test.mlf是否存在,並查看viterbi/mono/log/底下的log。如果看到utility/vulcan-am-kaldi-to-htk: No such file or directory,代表你沒有成功執行apt install libc6-dev-i386。請執行後再重試bash 4-test.sh。
  13. 我看不懂參數
  14. 助教只講解幾個難懂的,其餘應請同學自己讀過程式
    • numgauss註解說要大於states*phones但範例程式設定1?
      如果你看kaldi原始碼會發現他根據你的topo來設定初始gaussian數量,更新的時候mix-up指的是要split到的目標數量,所以如果小於目前數量,等於沒以作用,所以才提醒你們要設超過states*phones。
    • realign_iters: 需要做re-alignment (其實就是課程中講的segmental k-means)的iteration
    • scale_opts: scaling options是gmm-align-compiled的參數,控制了re-alignment時算各個probabilities的比例。
    • opt_acwt: optimal acoustic weight代表decode時acoustic model占的比重(有acoustic model和language model)