voice-changer/trainer/exec.sh
2022-11-04 02:20:57 +09:00

60 lines
2.0 KiB
Bash

#!/bin/bash
# 参考:https://programwiz.org/2022/03/22/how-to-write-shell-script-for-option-parsing/
#set -eux
set -eu
MODE=$1
PARAMS=${@:2:($#-1)}
echo "------"
echo "$MODE"
echo "PARAMS: $PARAMS"
echo "VERBOSE: $VERBOSE"
echo "------"
# 起動
if [ "${MODE}" = "MMVC" ] ; then
cd /voice-changer-internal/voice-change-service
if [[ -e /resources/setting.json ]]; then
echo "指定された設定(setting.json)を使用します。"
cp /resources/setting.json ../frontend/dist/assets/setting.json
else
echo "デフォルトの設定(setting.json)を使用します。"
cp ../frontend/dist/assets/setting_mmvc.json ../frontend/dist/assets/setting.json
fi
find /resources/ -type f -name "config.json" | xargs -I{} sh -c 'echo "config.jsonをコピーします。" && cp {} ./'
find /resources/ -type f -name "*.pth" | xargs -I{} sh -c 'echo "`basename {}`をコピーします。" && cp {} ./'
if [ "${VERBOSE}" = "on" ]; then
echo "MMVCを起動します(verbose)"
python3 MMVCServerSIO.py $PARAMS
else
echo "MMVCを起動します"
python3 MMVCServerSIO.py $PARAMS 2>stderr.txt
fi
elif [ "${MODE}" = "MMVC_TRAIN" ] ; then
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
sed -ie "s/torch.cuda.device_count()/1/" train_ms.py
python3 -m tensorboard.main --logdir logs --port 6006 --host 0.0.0.0 &
python3 train_ms.py $PARAMS
# 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