zhzluke96
update
d2b7e94
import os
import subprocess
from typing import IO, Union
from modules.speaker import Speaker, speaker_mgr
def get_datasets_dir():
"""
列出 ./datasets/data_* 文件夹
"""
dataset_path = "./datasets"
dataset_list = os.listdir(dataset_path)
dataset_list = [
d for d in dataset_list if os.path.isdir(os.path.join(dataset_path, d))
]
dataset_list = [d for d in dataset_list if d.startswith("data_")]
return dataset_list
def get_datasets_listfile():
datasets = get_datasets_dir()
listfiles = []
for d in datasets:
dir_path = os.path.join("./datasets", d)
files = os.listdir(dir_path)
for f in files:
if f.endswith(".list"):
listfiles.append(os.path.join(dir_path, f))
return listfiles
def run_speaker_ft(
batch_size: int, epochs: int, train_text: bool, data_path: str, init_speaker: str
):
command = ["python3", "-m", "modules.finetune.train_speaker"]
command += [
f"--batch_size={batch_size}",
f"--epochs={epochs}",
f"--data_path={data_path}",
]
if train_text:
command.append("--train_text")
if init_speaker:
command.append(f"--init_speaker={init_speaker}")
process = subprocess.Popen(
command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1
)
return process