rework on logging

32k
大蒟蒻 3 years ago
parent d0a2ca4497
commit 199765f125

7
.gitignore vendored

@ -0,0 +1,7 @@
dataset*
logs/
hubert
.venv
venv
**/__pycache__
filelists/

@ -1 +1,94 @@
使config
{
"train": {
"log_interval": 200,
"eval_interval": 1000,
"seed": 1234,
"epochs": 10000,
"learning_rate": 0.0001,
"betas": [
0.8,
0.99
],
"eps": 1e-09,
"batch_size": 6,
"fp16_run": false,
"lr_decay": 0.999875,
"segment_size": 17920,
"init_lr_ratio": 1,
"warmup_epochs": 0,
"c_mel": 45,
"c_kl": 1.0,
"use_sr": true,
"max_speclen": 384,
"port": "8001"
},
"data": {
"training_files": "filelists/train.txt",
"validation_files": "filelists/val.txt",
"max_wav_value": 32768.0,
"sampling_rate": 32000,
"filter_length": 1280,
"hop_length": 320,
"win_length": 1280,
"n_mel_channels": 80,
"mel_fmin": 0.0,
"mel_fmax": null
},
"model": {
"inter_channels": 192,
"hidden_channels": 192,
"filter_channels": 768,
"n_heads": 2,
"n_layers": 6,
"kernel_size": 3,
"p_dropout": 0.1,
"resblock": "1",
"resblock_kernel_sizes": [
3,
7,
11
],
"resblock_dilation_sizes": [
[
1,
3,
5
],
[
1,
3,
5
],
[
1,
3,
5
]
],
"upsample_rates": [
10,
8,
2,
2
],
"upsample_initial_channel": 512,
"upsample_kernel_sizes": [
16,
16,
4,
4
],
"n_layers_q": 3,
"use_spectral_norm": false,
"gin_channels": 256,
"ssl_dim": 256,
"n_speakers": 10
},
"spk": {
"JP_Ayane": 0,
"JP_Hoshino": 1,
"JP_Nonomi": 2,
"JP_Serika": 3,
"JP_Shiroko": 4
}
}

@ -1,7 +1,10 @@
./dataset/32k/yunhao/001829.wav
./dataset/32k/yunhao/001827.wav
./dataset/32k/jishuang/000104.wav
./dataset/32k/nen/kne110_005.wav
./dataset/32k/nen/kne110_004.wav
./dataset/32k/jishuang/000223.wav
./dataset/32k/yunhao/001828.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Cafe_Act_5.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_MemorialLobby_4.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Growup_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_LogIn_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_3.ogg.wav

@ -0,0 +1,451 @@
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Lobby_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_MemorialLobby_3_3.ogg.wav
./dataset/32k/JP_Serika/Serika_LogIn_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Lobby_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Formation_In_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Gachaget.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_MemorialLobby_5_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Lobby_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_LogIn_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Cafe_Act_3_a.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_5.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Growup_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Lobby_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_TacticalAction_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_LogIn_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_In_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExSkill_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Season_Birthday.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Cafe_Act_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_0.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLogin_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Lobby_5.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_MemorialLobby_4.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Formation_In_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Lobby_5.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Tactic_In_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Growup_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Cafe_Act_4.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Tactic_In_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_LogIn_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_In_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_MemorialLobby_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Cafe_Act_3_b.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Season_Xmas.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Tactic_In_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Season_Birthday.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExSkill_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Growup_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Formation_In_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Growup_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Season_Halloween.ogg.wav
./dataset/32k/JP_Serika/Serika_Growup_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_CommonSkill.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Growup_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_6_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_LogIn_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Growup_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Formation_In_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Formation_Select.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Buffed_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_6.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_2_2.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_Birthday.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_MemorialLobby_2_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Growup_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Cafe_monolog_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_LogIn_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_MemorialLobby_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_CommonSkill.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLobby_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Season_Birthday.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_In_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Gachaget.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Formation_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Retire.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_6_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Growup_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_MemorialLobby_0.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Growup_4.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Season_NewYear.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_5.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Growup_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_1_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Cafe_Act_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_MemorialLobby_5_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Serika/Serika_LogIn_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExSkill_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_4.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Season_Halloween.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_CommonSkill.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExSkill_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_3_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Defense_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Cafe_monolog_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_2_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Growup_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_4.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExSkill_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Cafe_Act_4.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_TacticalAction_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLogin_Season_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_1_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Lobby_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Growup_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Tactic_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Season_Birthday.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Cafe_Act_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_1_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Supply.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_2_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLobby_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Tactic_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Retire.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_In_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Cafe_monolog_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Lobby_4.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Move_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_5.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_CommonSkill.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_2_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Growup_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_5_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLogin_Season_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExSkill_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Lobby_5.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Lobby_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Defense_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Growup_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Season_Halloween.ogg.wav
./dataset/32k/JP_Serika/Serika_Gachaget.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Tactic_In_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_In_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_3_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLogin_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Tactic_In_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Tactic_In_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Growup_4.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExSkill_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Gachaget.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Growup_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Lobby_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Lobby_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Serika/Serika_Growup_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExSkill_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExSkill_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_In_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Lobby_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Gachaget.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Season_Xmas.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Formation_Select.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExSkill_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_In_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Buffed_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Move_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Cafe_monolog_5.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Move_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Cafe_Act_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_MemorialLobby_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Retire.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Formation_In_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Move_1.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Cafe_Act_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_In_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_4_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Lobby_3.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExSkill_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExSkill_3.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Formation_In_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Season_Xmas.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Season_Halloween.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_CommonSkill.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_In_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_MemorialLobby_2_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_MemorialLobby_3_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Cafe_Act_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Lobby_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Cafe_monolog_3.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_3_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_1_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Formation_In_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Formation_Select.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Growup_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Lobby_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Tactic_In_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Lobby_5.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Growup_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_4.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_4_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Formation_In_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_MemorialLobby_1.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Lobby_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Growup_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_Select.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExSkill_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Lobby_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Lobby_5.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Cafe_monolog_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_Halloween.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExSkill_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_NewYear.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Season_Xmas.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Buffed_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Season_NewYear.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Season_Xmas.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_In_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_In_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Lobby_4.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Cafe_monolog_4.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_4_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Cafe_monolog_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Growup_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Retire.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_MemorialLobby_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Move_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLobby_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_3_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_4_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExSkill_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Move_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_LogIn_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_6.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Lobby_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Season_Birthday.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExSkill_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_4_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Season_Birthday.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_BuffSelf_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Formation_Select.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Defense_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Growup_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Growup_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Buffed_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Lobby_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Covered_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_MemorialLobby_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_LogIn_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_LogIn_2.ogg.wav
./dataset/32k/JP_Serika/Serika_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Season_NewYear.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Lobby_4.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Lobby_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Move_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_BuffSelf_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_In_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_MemorialLobby_3_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Formation_In_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_ExSkill_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_4.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Cafe_Act_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Lobby_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Cafe_monolog_4.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Growup_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Season_Halloween.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_MemorialLobby_5.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Cafe_Act_4.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Tactic_In_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_4_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Formation_Select.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_3_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Formation_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_5.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Gachaget.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_In_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_LogIn_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_BuffSelf_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Lobby_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Battle_Covered_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_LogIn_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_5_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_5_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_3_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Growup_4.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Cafe_Act_5.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Cafe_monolog_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLobby_3.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Formation_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_3_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Relationship_Up_4.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Retire.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Lobby_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Season_NewYear.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Cafe_monolog_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_5_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_Xmas.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_In_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_MemorialLobby_4_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_Move_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Cafe_monolog_5.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Growup_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_5_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_5_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Season_Xmas.ogg.wav
./dataset/32k/JP_Ayane/Ayane_MemorialLobby_2_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Lobby_3.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_TacticalAction_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Gachaget.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Lobby_5.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Defense_1.ogg.wav
./dataset/32k/JP_Ayane/Ayane_LogIn_2.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_MemorialLobby_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Season_NewYear.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_ExSkill_2.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_EventLogin_Season_End.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Cafe_Act_3.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_6_3.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_2_2.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_MemorialLobby_3_1.ogg.wav
./dataset/32k/JP_Shiroko/Shiroko_Battle_BuffSelf_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Battle_Retire.ogg.wav
./dataset/32k/JP_Hoshino/HoshinoSwimsuit_Battle_TacticalAction_1.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Cafe_Act_1.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Season_NewYear.ogg.wav

@ -1,6 +1,10 @@
./dataset/32k/nen/kne110_005.wav
./dataset/32k/yunhao/001827.wav
./dataset/32k/jishuang/000104.wav
./dataset/32k/jishuang/000223.wav
./dataset/32k/nen/kne110_004.wav
./dataset/32k/yunhao/001828.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Shiroko/ShirokoRidingSuit_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Season_Halloween.ogg.wav
./dataset/32k/JP_Hoshino/Hoshino_Battle_In_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Cafe_Act_5.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Ayane/Ayane_Cafe_monolog_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_1.ogg.wav
./dataset/32k/JP_Nonomi/Nonomi_Cafe_Act_2.ogg.wav

@ -3,7 +3,6 @@ Flask_Cors==3.0.10
gradio==3.4.1
numpy==1.19.2
playsound==1.3.0
PyAudio==0.2.12
pydub==0.25.1
pyworld==0.3.0
requests==2.28.1

@ -105,8 +105,12 @@ def run(rank, n_gpus, hps):
for epoch in range(epoch_str, hps.train.epochs + 1):
if rank == 0:
import time
t1 = time.monotonic()
train_and_evaluate(rank, epoch, hps, [net_g, net_d], [optim_g, optim_d], [scheduler_g, scheduler_d], scaler,
[train_loader, eval_loader], logger, [writer, writer_eval])
t2 = time.monotonic()
print("epoch #{} : {:.2f}s".format(epoch, t2 - t1))
else:
train_and_evaluate(rank, epoch, hps, [net_g, net_d], [optim_g, optim_d], [scheduler_g, scheduler_d], scaler,
[train_loader, None], None, None)

@ -0,0 +1,235 @@
import logging
logging.getLogger('matplotlib').setLevel(logging.WARNING)
import os
import json
import argparse
import itertools
import math
import torch
from torch import nn, optim
from torch.nn import functional as F
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
import torch.multiprocessing as mp
import torch.distributed as dist
from torch.nn.parallel import DistributedDataParallel as DDP
from torch.cuda.amp import autocast, GradScaler
import commons
import utils
from data_utils import TextAudioSpeakerLoader, EvalDataLoader
from models import (
SynthesizerTrn,
MultiPeriodDiscriminator,
)
from losses import (kl_loss, generator_loss, discriminator_loss, feature_loss)
from mel_processing import mel_spectrogram_torch, spec_to_mel_torch
from tqdm import tqdm
torch.backends.cudnn.benchmark = True
global_step = 0
# os.environ['TORCH_DISTRIBUTED_DEBUG'] = 'INFO'
def main():
"""Assume Single Node Multi GPUs Training Only"""
assert torch.cuda.is_available(), "CPU training is not allowed."
hps = utils.get_hparams()
n_gpus = torch.cuda.device_count()
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = hps.train.port
mp.spawn(run, nprocs=n_gpus, args=(
n_gpus,
hps,
))
def run(rank, n_gpus, hps):
global global_step
if rank == 0:
logger = utils.get_logger(hps.model_dir)
logger.info(hps)
utils.check_git_hash(hps.model_dir)
writer = SummaryWriter(log_dir=hps.model_dir)
writer_eval = SummaryWriter(log_dir=os.path.join(hps.model_dir, "eval"))
dist.init_process_group(backend='nccl', init_method='env://', world_size=n_gpus, rank=rank)
torch.manual_seed(hps.train.seed)
torch.cuda.set_device(rank)
train_dataset = TextAudioSpeakerLoader(hps.data.training_files, hps)
train_loader = DataLoader(train_dataset, num_workers=8, shuffle=False, pin_memory=True, batch_size=hps.train.batch_size)
if rank == 0:
eval_dataset = EvalDataLoader(hps.data.validation_files, hps)
eval_loader = DataLoader(eval_dataset, num_workers=1, shuffle=False, batch_size=1, pin_memory=False, drop_last=False)
net_g = SynthesizerTrn(hps.data.filter_length // 2 + 1, hps.train.segment_size // hps.data.hop_length,
**hps.model).cuda(rank)
net_d = MultiPeriodDiscriminator(hps.model.use_spectral_norm).cuda(rank)
optim_g = torch.optim.AdamW(net_g.parameters(), hps.train.learning_rate, betas=hps.train.betas, eps=hps.train.eps)
optim_d = torch.optim.AdamW(net_d.parameters(), hps.train.learning_rate, betas=hps.train.betas, eps=hps.train.eps)
net_g = DDP(net_g, device_ids=[rank]) # , find_unused_parameters=True)
net_d = DDP(net_d, device_ids=[rank])
try:
_, _, _, epoch_str = utils.load_checkpoint(utils.latest_checkpoint_path(hps.model_dir, "G_*.pth"), net_g, optim_g)
_, _, _, epoch_str = utils.load_checkpoint(utils.latest_checkpoint_path(hps.model_dir, "D_*.pth"), net_d, optim_d)
global_step = (epoch_str - 1) * len(train_loader)
except:
epoch_str = 1
global_step = 0
scheduler_g = torch.optim.lr_scheduler.ExponentialLR(optim_g, gamma=hps.train.lr_decay, last_epoch=epoch_str - 2)
scheduler_d = torch.optim.lr_scheduler.ExponentialLR(optim_d, gamma=hps.train.lr_decay, last_epoch=epoch_str - 2)
scaler = GradScaler(enabled=hps.train.fp16_run)
for epoch in tqdm(range(epoch_str, hps.train.epochs + 1), description="Epoch"):
if rank == 0:
train_and_evaluate(rank, epoch, hps, [net_g, net_d], [optim_g, optim_d], [scheduler_g, scheduler_d], scaler,
[train_loader, eval_loader], logger, [writer, writer_eval])
else:
train_and_evaluate(rank, epoch, hps, [net_g, net_d], [optim_g, optim_d], [scheduler_g, scheduler_d], scaler,
[train_loader, None], None, None)
scheduler_g.step()
scheduler_d.step()
def train_and_evaluate(rank, epoch, hps, nets, optims, schedulers, scaler, loaders, logger, writers):
net_g, net_d = nets
optim_g, optim_d = optims
scheduler_g, scheduler_d = schedulers
train_loader, eval_loader = loaders
if writers is not None:
writer, writer_eval = writers
# train_loader.batch_sampler.set_epoch(epoch)
global global_step
net_g.train()
net_d.train()
pbar_train_loader = tqdm(train_loader, keep=False)
for items in pbar_train_loader:
c, f0, spec, y, spk = items
g = spk.cuda(rank, non_blocking=True)
spec, y = spec.cuda(rank, non_blocking=True), y.cuda(rank, non_blocking=True)
c = c.cuda(rank, non_blocking=True)
f0 = f0.cuda(rank, non_blocking=True)
mel = spec_to_mel_torch(spec, hps.data.filter_length, hps.data.n_mel_channels, hps.data.sampling_rate,
hps.data.mel_fmin, hps.data.mel_fmax)
with autocast(enabled=hps.train.fp16_run):
y_hat, ids_slice, z_mask, \
(z, z_p, m_p, logs_p, m_q, logs_q) = net_g(c, f0, spec, g=g, mel=mel)
y_mel = commons.slice_segments(mel, ids_slice, hps.train.segment_size // hps.data.hop_length)
y_hat_mel = mel_spectrogram_torch(y_hat.squeeze(1), hps.data.filter_length, hps.data.n_mel_channels,
hps.data.sampling_rate, hps.data.hop_length, hps.data.win_length,
hps.data.mel_fmin, hps.data.mel_fmax)
y = commons.slice_segments(y, ids_slice * hps.data.hop_length, hps.train.segment_size) # slice
# Discriminator
y_d_hat_r, y_d_hat_g, _, _ = net_d(y, y_hat.detach())
with autocast(enabled=False):
loss_disc, losses_disc_r, losses_disc_g = discriminator_loss(y_d_hat_r, y_d_hat_g)
loss_disc_all = loss_disc
optim_d.zero_grad()
scaler.scale(loss_disc_all).backward()
scaler.unscale_(optim_d)
grad_norm_d = commons.clip_grad_value_(net_d.parameters(), None)
scaler.step(optim_d)
with autocast(enabled=hps.train.fp16_run):
# Generator
y_d_hat_r, y_d_hat_g, fmap_r, fmap_g = net_d(y, y_hat)
with autocast(enabled=False):
loss_mel = F.l1_loss(y_mel, y_hat_mel) * hps.train.c_mel
loss_kl = kl_loss(z_p, logs_q, m_p, logs_p, z_mask) * hps.train.c_kl
loss_fm = feature_loss(fmap_r, fmap_g)
loss_gen, losses_gen = generator_loss(y_d_hat_g)
loss_gen_all = loss_gen + loss_fm + loss_mel + loss_kl
optim_g.zero_grad()
scaler.scale(loss_gen_all).backward()
scaler.unscale_(optim_g)
grad_norm_g = commons.clip_grad_value_(net_g.parameters(), None)
scaler.step(optim_g)
scaler.update()
if rank == 0:
# logger.info('====> Epoch: {}'.format(epoch))
lr = optim_g.param_groups[0]['lr']
losses = [loss_disc, loss_gen, loss_fm, loss_mel, loss_kl]
# logger.info('Train Epoch: {} [{:.0f}%]'.format(epoch, 100. * batch_idx / len(train_loader)))
# logger.info([x.item() for x in losses] + [global_step, lr])
pbar_train_loader.set_postfix(str([x.item() for x in losses] + [global_step, lr]))
scalar_dict = {
"loss/g/total": loss_gen_all,
"loss/d/total": loss_disc_all,
"learning_rate": lr,
"grad_norm_d": grad_norm_d,
"grad_norm_g": grad_norm_g
}
scalar_dict.update({"loss/g/fm": loss_fm, "loss/g/mel": loss_mel, "loss/g/kl": loss_kl})
scalar_dict.update({"loss/g/{}".format(i): v for i, v in enumerate(losses_gen)})
scalar_dict.update({"loss/d_r/{}".format(i): v for i, v in enumerate(losses_disc_r)})
scalar_dict.update({"loss/d_g/{}".format(i): v for i, v in enumerate(losses_disc_g)})
image_dict = {
"slice/mel_org": utils.plot_spectrogram_to_numpy(y_mel[0].data.cpu().numpy()),
"slice/mel_gen": utils.plot_spectrogram_to_numpy(y_hat_mel[0].data.cpu().numpy()),
"all/mel": utils.plot_spectrogram_to_numpy(mel[0].data.cpu().numpy()),
}
utils.summarize(writer=writer, global_step=global_step, images=image_dict, scalars=scalar_dict)
if epoch % hps.train.eval_interval == 0:
evaluate(hps, net_g, eval_loader, writer_eval)
utils.save_checkpoint(net_g, optim_g, hps.train.learning_rate, epoch,
os.path.join(hps.model_dir, "G_{}.pth".format(epoch)))
utils.save_checkpoint(net_d, optim_d, hps.train.learning_rate, epoch,
os.path.join(hps.model_dir, "D_{}.pth".format(epoch)))
def evaluate(hps, generator, eval_loader, writer_eval):
generator.eval()
image_dict = {}
audio_dict = {}
with torch.no_grad():
for batch_idx, items in enumerate(eval_loader):
c, f0, spec, y, spk = items
g = spk[:1].cuda(0)
spec, y = spec[:1].cuda(0), y[:1].cuda(0)
c = c[:1].cuda(0)
f0 = f0[:1].cuda(0)
mel = spec_to_mel_torch(spec, hps.data.filter_length, hps.data.n_mel_channels, hps.data.sampling_rate,
hps.data.mel_fmin, hps.data.mel_fmax)
y_hat = generator.module.infer(c, f0, g=g, mel=mel)
y_hat_mel = mel_spectrogram_torch(
y_hat.squeeze(1).float(), hps.data.filter_length, hps.data.n_mel_channels, hps.data.sampling_rate,
hps.data.hop_length, hps.data.win_length, hps.data.mel_fmin, hps.data.mel_fmax)
audio_dict.update({f"gen/audio_{batch_idx}": y_hat[0], f"gt/audio_{batch_idx}": y[0]})
image_dict.update({
f"gen/mel": utils.plot_spectrogram_to_numpy(y_hat_mel[0].cpu().numpy()),
"gt/mel": utils.plot_spectrogram_to_numpy(mel[0].cpu().numpy())
})
utils.summarize(writer=writer_eval,
global_step=global_step,
images=image_dict,
audios=audio_dict,
audio_sampling_rate=hps.data.sampling_rate)
generator.train()
if __name__ == "__main__":
main()
Loading…
Cancel
Save