voice-changer/trainer/exec.sh

134 lines
3.2 KiB
Bash
Raw Normal View History

2022-08-22 21:57:54 +03:00
#!/bin/bash
# 参考:https://programwiz.org/2022/03/22/how-to-write-shell-script-for-option-parsing/
set -eu
echo "------"
echo "$@"
echo "------"
usage() {
echo "
usage:
For training
$0 [-t] [-b batch_size] [-r]
-t: flag for training mode
-b: batch_size.
-r: flag for resuming training.
For changing voice
$0 [-v] [-c config] [-m model]
-v: flag for voice change mode
-c: config
-m: model name
For help
$0 [-h]
-h: show this help
" >&2
}
warn () {
echo "! ! ! $1 ! ! !"
exit 1
}
training_flag=false
batch_size=10
resume_flag=false
voice_change_flag=false
config=
model=
2022-08-23 03:45:05 +03:00
escape_flag=false
2022-08-22 21:57:54 +03:00
# オプション解析
2022-08-23 03:45:05 +03:00
while getopts tb:rvc:m:hx OPT; do
2022-08-22 21:57:54 +03:00
case $OPT in
t)
training_flag=true
;;
b)
batch_size="$OPTARG"
;;
r)
resume_flag=true
;;
v)
voice_change_flag=true
;;
c)
config="$OPTARG"
;;
m)
model="$OPTARG"
;;
h | \?)
usage && exit 1
;;
2022-08-23 03:45:05 +03:00
x)
escape_flag=true
2022-08-22 21:57:54 +03:00
esac
done
2022-08-23 03:45:05 +03:00
# ## コマンドライン引数から、オプション引数分を削除
# # shift $((OPTIND - 1))
2022-08-22 21:57:54 +03:00
# モード解析
if $training_flag && $voice_change_flag; then
warn "-tトレーニングモード と -vボイチェンモードは同時に指定できません。"
exit 1
elif $training_flag; then
echo "■■■ ト レ ー ニ ン グ モ ー ド ■■■"
elif $voice_change_flag; then
echo "■■■ ボ イ チ ェ ン モ ー ド ■■■"
2022-08-23 03:45:05 +03:00
elif $escape_flag; then
/bin/bash
2022-08-22 21:57:54 +03:00
else
warn "-tトレーニングモード と -vボイチェンモードのいずれかを指定してください。"
exit 1
fi
2022-08-23 03:45:05 +03:00
# if $training_flag; then
2022-08-22 21:57:54 +03:00
2022-08-23 03:45:05 +03:00
# python3 create_dataset_jtalk.py -f train_config -s 24000 -m dataset/multi_speaker_correspondence.txt
# # date_tag=`date +%Y%m%d%H%M%S`
# sed -ie 's/80000/8000/' train_ms.py
# sed -ie "s/\"batch_size\": 10/\"batch_size\": $batch_size/" configs/train_config.json
2022-08-22 21:57:54 +03:00
2022-08-23 03:45:05 +03:00
# python3 -m tensorboard.main --logdir logs --port 6006 --host 0.0.0.0 &
2022-08-22 21:57:54 +03:00
2022-08-23 03:45:05 +03:00
# if ${resume_flag}; then
# echo "トレーニング再開。バッチサイズ: ${batch_size}。"
# python3 train_ms.py -c configs/train_config.json -m vc
# else
# echo "トレーニング開始。バッチサイズ: ${batch_size}。"
# python3 train_ms.py -c configs/train_config.json -m vc -fg fine_model/G_180000.pth -fd fine_model/D_180000.pth
# fi
# fi
2022-08-22 21:57:54 +03:00
2022-08-23 03:45:05 +03:00
# if $voice_change_flag; then
# if [[ -z "$config" ]]; then
# warn "コンフィグファイル(-c)を指定してください"
# fi
# if [[ -z "$model" ]]; then
# warn "モデルファイル(-m)を指定してください"
# fi
# cd /voice-changer-internal/voice-change-service
# cp -r /resources/* .
# if [[ -e ./setting.json ]]; then
# cp ./setting.json ../frontend/dist/assets/setting.json
# fi
# echo "-----------!!"
# echo $config $model
# echo $model
# python3 serverSIO.py 8080 $config $model
# fi