Feat: make style vectors w.r.t. subdirs structure

This commit is contained in:
litagin02
2024-05-25 17:14:28 +09:00
parent 0c87c6ffd4
commit 175aa62a26
3 changed files with 109 additions and 64 deletions

View File

@@ -108,7 +108,7 @@ def run():
envs = config.train_ms_config.env
for env_name, env_value in envs.items():
if env_name not in os.environ.keys():
logger.info("Loading configuration from config {}".format(str(env_value)))
logger.info(f"Loading configuration from config {env_value!s}")
os.environ[env_name] = str(env_value)
logger.info(
"Loading environment variables \nMASTER_ADDR: {},\nMASTER_PORT: {},\nWORLD_SIZE: {},\nRANK: {},\nLOCAL_RANK: {}".format(
@@ -142,7 +142,7 @@ def run():
if os.path.realpath(args.config) != os.path.realpath(
config.train_ms_config.config_path
):
with open(args.config, "r", encoding="utf-8") as f:
with open(args.config, encoding="utf-8") as f:
data = f.read()
os.makedirs(os.path.dirname(config.train_ms_config.config_path), exist_ok=True)
with open(config.train_ms_config.config_path, "w", encoding="utf-8") as f:
@@ -192,13 +192,9 @@ def run():
os.makedirs(config.out_dir, exist_ok=True)
if not args.skip_default_style:
# Save default style to out_dir
default_style.set_style_config(
args.config, os.path.join(config.out_dir, "config.json")
)
default_style.save_neutral_vector(
default_style.save_styles_by_dirs(
os.path.join(args.model, "wavs"),
os.path.join(config.out_dir, "style_vectors.npy"),
config.out_dir,
)
torch.manual_seed(hps.train.seed)
@@ -505,7 +501,7 @@ def run():
optim_g,
hps.train.learning_rate,
epoch,
os.path.join(model_dir, "G_{}.pth".format(global_step)),
os.path.join(model_dir, f"G_{global_step}.pth"),
)
assert optim_d is not None
utils.checkpoints.save_checkpoint(
@@ -513,7 +509,7 @@ def run():
optim_d,
hps.train.learning_rate,
epoch,
os.path.join(model_dir, "D_{}.pth".format(global_step)),
os.path.join(model_dir, f"D_{global_step}.pth"),
)
if net_dur_disc is not None:
assert optim_dur_disc is not None
@@ -522,7 +518,7 @@ def run():
optim_dur_disc,
hps.train.learning_rate,
epoch,
os.path.join(model_dir, "DUR_{}.pth".format(global_step)),
os.path.join(model_dir, f"DUR_{global_step}.pth"),
)
utils.safetensors.save_safetensors(
net_g,
@@ -757,14 +753,12 @@ def train_and_evaluate(
"loss/g/kl": loss_kl,
}
)
scalar_dict.update({f"loss/g/{i}": v for i, v in enumerate(losses_gen)})
scalar_dict.update(
{"loss/g/{}".format(i): v for i, v in enumerate(losses_gen)}
{f"loss/d_r/{i}": v for i, v in enumerate(losses_disc_r)}
)
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)}
{f"loss/d_g/{i}": v for i, v in enumerate(losses_disc_g)}
)
image_dict = {
@@ -801,14 +795,14 @@ def train_and_evaluate(
optim_g,
hps.train.learning_rate,
epoch,
os.path.join(hps.model_dir, "G_{}.pth".format(global_step)),
os.path.join(hps.model_dir, f"G_{global_step}.pth"),
)
utils.checkpoints.save_checkpoint(
net_d,
optim_d,
hps.train.learning_rate,
epoch,
os.path.join(hps.model_dir, "D_{}.pth".format(global_step)),
os.path.join(hps.model_dir, f"D_{global_step}.pth"),
)
if net_dur_disc is not None:
utils.checkpoints.save_checkpoint(
@@ -816,7 +810,7 @@ def train_and_evaluate(
optim_dur_disc,
hps.train.learning_rate,
epoch,
os.path.join(hps.model_dir, "DUR_{}.pth".format(global_step)),
os.path.join(hps.model_dir, f"DUR_{global_step}.pth"),
)
keep_ckpts = config.train_ms_config.keep_ckpts
if keep_ckpts > 0:
@@ -853,9 +847,7 @@ def train_and_evaluate(
global_step += 1
if pbar is not None:
pbar.set_description(
"Epoch {}({:.0f}%)/{}".format(
epoch, 100.0 * batch_idx / len(train_loader), hps.train.epochs
)
f"Epoch {epoch}({100.0 * batch_idx / len(train_loader):.0f}%)/{hps.train.epochs}"
)
pbar.update()
# 本家ではこれをスピードアップのために消すと書かれていたので、一応消してみる
@@ -870,6 +862,7 @@ def evaluate(hps, generator, eval_loader, writer_eval):
generator.eval()
image_dict = {}
audio_dict = {}
print()
logger.info("Evaluating ...")
with torch.no_grad():
for batch_idx, (