Skip to content

Source code from 2023 AI CUP Competition on Multimodal Classification of Voice Pathology.

License

Notifications You must be signed in to change notification settings

chesterXalan/Competition-AICUP2023-MultimodalClassificationOfVoicePathology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Competition-AICUP2023-MultimodalClassificationOfVoicePathology

競賽網站


  • 安裝環境:
    1. 使用 Anaconda 安裝 Python 3.9.15 並安裝 Jupyter LabJupyter Notebook
    2. 安裝 PyTorch 1.13.1 以及 CUDA 11.7 可從官方網站找到指令,或直接輸入指令:
      conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
    3. 使用指令 pip3 install -r requirements.txt 來安裝所需套件
  • 資料前處理:
    1. 先將原始音檔 (.wav) 分別放進資料夾
      • 訓練集:dataset\training\training_voice_data
      • public測試集:dataset\test\test_data_public
      • private測試集:dataset\test\test_data_private
    2. 分別使用以下程式來生成各自的 Numpy 壓縮檔案 (.npz),該檔案會直接包含 .wav 的訊號與 .csv 內對應的資訊
      • 訓練集:processing\training-make_npz.ipynb
      • public測試集:processing\test_public-make_npz.ipynb
      • private測試集:processing\test_private-make_npz.ipynb
    3. 分別使用以下程式對剛剛的 .npz 裡的訊號進行快速傅立葉轉換 (FFT),並另存檔案
      • 訓練集:processing\training-fft.ipynb
      • public測試集:processing\test_public-fft.ipynb
      • private測試集:processing\test_private-fft.ipynb
    4. (選用) 分別使用以下程式來生成記錄每個 .npz 檔名的 .json 檔案,以方便後續抓取檔案,
      其中訓練集會隨機抽選訓練與測試集,如欲重新抽選檔案可修改程式內的種子碼來重新抽選
      • 訓練集:processing\training-make_data_list.ipynb
      • public測試集:processing\test_public-make_data_list.ipynb
      • private測試集:processing\test_private-make_data_list.ipynb
  • 訓練方式:
    1. 開啟 experiments\traininig.ipynb
    2. 從第2個儲存格開始執行程式,至第7格為止
    3. 8格可設定模型的名稱,此功能是用於重新訓練的,如果要把已經訓練好的模型載入回來,就不需要執行這格
    4. 9格用於載入已訓練的模型,需手動修改模型名稱,預設為我們訓練好的模型 m202_MultiOutput_20230518_114418
    5. 執行過第8或第9格以後,一直往下執行至第15格為止
    6. 16格可用來重新訓練模型,第17格為繼續訓練模型
    7. 18格用來定義繪製 lossUAR 曲線的函式
    8. 如果為重新訓練模型,執行第19格可看到曲線;如果是繼續訓練的模型,則要執行第20
    9. 從第21格一直執行至第25格為止,可從第25格的輸出看到每個保存的模型在訓練與測試集中,三個輸出對應的 accUAR
    10. 26格用於讀回剛剛測試的結果,節省以後還要重跑結果的時間
    11. 27~29格用來觀察各個模型在訓練與測試集中,三個輸出對應的混淆矩陣以及其他數據,
      預設要觀察的模型為各個輸出在訓練過程中獲得最高UAR的模型 best_uar-0best_uar-1best_uar-2
    12. 30格用來查看tensorboard所記錄的資訊
  • 測試方式:
    1. 開啟 experiments\test.ipynb
    2. 從第2個儲存格開始執行程式,至第6格為止
    3. 在第7格設定要測試的模型名稱,預設為我們訓練好的模型 m202_MultiOutput_20230518_114418
    4. 從第8格一直執行到第11格為止
    5. 12格可設定要用於測試的模型以及模型的輸出位置,我們設定為best_uar-0以及第0個輸出位置

Releases

No releases published

Packages

No packages published