|
|
**Przygotowanie środowiska IFE_raw**
|
|
|
- Pliki konfig- uracyjne i model sieci
|
|
|
- wybrane wytrenowane modele
|
|
|
- Generator plików audio oraz AFE
|
|
|
- Inferencje z użyciem gotowej sieci
|
|
|
- wybrane wytrenowane modele
|
|
|
- przykład inferencji na sygnale mowy oraz wyświetlenia wyników
|
|
|
- Referencyjna baza sygnałów mowy
|
|
|
- KeelePitch
|
|
|
- nowy korpus <= raczej później po testach
|
|
|
- Podstawowa analiza wyników inferencji
|
|
|
|
|
|
**Przygotowanie środowiska**
|
|
|
- Konfiguracja środowiska w Conda (IFE_raw)
|
|
|
- `conda create -n IFE_raw python=3.9`
|
|
|
- `conda activate IFE_raw`
|
|
|
- `conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch`
|
|
|
- `conda install -c conda-forge --file requirements.txt`
|
|
|
|
|
|
**Użycie IFE_infer.py**
|
|
|
- `python IFE_infer.py "wav source file or folder" "model filename" "output folder" [mat/npz <= output file format]`
|
|
|
- CMD
|
|
|
- `conda activate IFE_raw && run_IFE_infer_call.bat %1 && conda deactivate`
|
|
|
- powershell
|
|
|
- `conda activate IFE_raw; if ($LASTEXITCODE -eq 0) { run_IFE_infer_call.bat }; conda deactivate`
|
|
|
- https://stackoverflow.com/questions/65627536/the-token-is-not-a-valid-statement-separator-in-this-version
|
|
|
|
|
|
**Trening sieci (train_model.py)**
|
|
|
- trening nowej sieci uruchamia się skryptem train_model.py z parametrem wskazującym na plik konfiguracyjny w formacie JSON.
|
|
|
- `python train_model.py "./configs/tr_cfg_test_SNR_100_log_MLP2.json"`
|
|
|
- opis format pliku konfiguracyjnego dla treningu znajduje się w pliku „Trainer config file description.odt”
|
|
|
- pliki wynikowe z modelami oraz bieżący plik log dla każdej epoki są zapisywane w podkatalogach wskazanych w pliku konfiguracyjnym w katalogu output_data/models
|
|
|
- dodatkowo we wskazanym pliku zapisywane jest ziarno generatora losowego (*.seed). Jeżeli plik ten nie istnieje to jest on tworzony, w przeciwnym przypadku trening kontynuowany jest ze stanami generatora losowego inicjowanymi zależnie od numeru epoki na bazie tego ziarna.
|
|
|
- główny plik logowania jest zapisywany w katalogu logs
|
|
|
|
|
|
**Inferencja na potrzeby wstępnej ewaluacji wyników dla wielu modeli (infer_model.py)**
|
|
|
- Inferencja na potrzeby wstępnej ewaluacji wyników jest uruchamiana skryptem infer_model.py ze wskazaniem na plik konfiguracyjny inferencji.
|
|
|
- przykładowe pliki konfiguracyjne znajdują się w katalogu ./output_data/inference/
|
|
|
- inf_cfg_const_SNR_test_MLP2_100_speech.json
|
|
|
- inf_cfg_const_SNR_test_MLP2_100_synth.json
|
|
|
- opis format pliku konfiguracyjnego dla treningu znajduje się w pliku „Inferer config file description.odt”
|
|
|
- Parametry modelu są odczytywane automatycznie z pliku zapisu modelu wytrenowanego z użyciem train_model.py i nie muszą być podawane w pliku konfiguracyjnym.
|
|
|
- Pliki wynikowe są zapisywane we wskazanych podkatalogach, w których są tworzone podkatalogi zależne od katalogów źródłowych modelu
|
|
|
|
|
|
**Wstępna ewaluacja wyników (draw_inference_results.py)**
|
|
|
- Wyniki wygenerowane w ramach infer_model.py można poddać dodatkowemu przetwarzaniu korzystając ze skryptu draw_inference_results.py
|
|
|
- Wyniki są zbierane i zapisywane w plikach xlsx w katalogu /output_data_inference/xlsx. Grupowanie wyników jest zależne od konfiguracji zdefiniowanej wewnątrz skryptu.
|
|
|
- Wygenerowane pliki nie są kompatybilne z oprogramowaniem Microsoft Office. Można je otworzyć z użyciem aplikacji Calc z pakietu LibreOffice.
|
|
|
|
|
|
**Skrypty Matlaba do analizy wyników**
|
|
|
- test_IFE_infer.mat - prezentacja wyników IFE_infer.py na tle spektrogramu wraz z referencyjnym F0
|
|
|
- TODO analiza wyników infer_model.py
|
|
|
- TODO generowanie wyników dla metod referencyjnych
|
|
|
|
|
|
**Użycie w ramach Visual Studio Code**
|
|
|
- Po zmianie bieżącego katalogu na katalog projektu należy wybrać interpreter pythona powiązany z przygotowanym środowiskiem conda (IFE_raw) (Ctrl+Shift+P) |
|
|
\ No newline at end of file |