인공지능

diff-svc 노래하는 인공지능 로컬 학습 단계 & 결과 (3)

yjlee06 2023. 6. 17. 16:27
반응형

diff-svc 인공지능을 학습하기 위해
준비한 데이터를 학습할수있도록

명령어를 실행 시켜 줍니다.

해당 부분은 Inference - The Beginner's Guide to Diff-SVC (gitbook.io)
참고하시면서 보시는 것을 추천합니다.
 
해당 게시글 (3)은 공식 가이드를 읽기 편하도록 변경한 것이며 문제가 생길시에는 가이드와 블로그를 함께 보시며 제작하신다면 더 빨리 이해하실수있습니다.

set CUDA_VISIBLE_DEVICES=0
python run.py --config training/config_nsf.yaml --exp_name {project_name} --reset

22kHz의 경우 config.yaml사용하고 44.1kHz 의 경우 config_nsf.yaml을 사용합니다.
{사용자 지정}은 전 게시글에서 config 파일을 수정할때 {사용자 지정} 에 작성했던 값을 똑같이 입력하시면 됩니다.
 
모델은 diff-svc /checkpoints/{사용자 지정} 위치에 저장됩니다.

적절 epoch 수치 찾는법

1. 일방적인 epoch에서 멈추기

epoch수치는 정확히는 모델에 따라 다르지만
각종 커뮤니티, 블로그, 공식 디스코드 서버를 확인한 결과
 
20분일때 최상의 epoch: 10만이며 그이상에서는 12만까지 의미있으며
그 이상부터는 별로 의미가 없다고 봐도 무관한것 같습니다. 
 
만약 10만에서 12만의 epoch에 도달 했다면 Ctrl + C를 눌러 학습을 중단 할수있습니다.
 

2.  tensorboard 사용하여 오디오품질을 확인하여 멈추기 (선택사항)

학습하고있을때 다른 커맨드창을 띄워서

tensorboard --logdir=checkpoints/{사용자 지정}/lightning_logs/lastest

아래의 명령어를 실행 시켜 줍니다.
그다음
http://localhost:6006/ 에 접속하여 결과를 checkpoints에 저장된
결과를 확인 할수있습니다.
 

결과 및 사용방법

diff-svc 폴더 안에  infer.py파일을 열어줍니다.
 
project_name는 기존 config에서 작성했던 {사용자 지정}이름을 입력합니다.
 
model_path에서 스탭 횟수는 해당 checkpoint/{사용자 지정} 폴더 위치로 들어가서 확인해주시기 바랍니다.

project_name = "{사용자 지정}"
    model_path = f'./checkpoints/{사용자 지정}/model_ckpt_steps_[스탭 횟수].ckpt'
    config_path = f'./checkpoints/{사용자 지정}/config.yaml'

    file_names = ["[변경할 대상].wav"]
    trans = [0]

    accelerate = 20
    hubert_gpu = True
    format='flac'
    step = int(model_path.split("_")[-1].split(".")[0])...

그리하여 최종적으로 python infer.py를 실행하여 결과를 확인할수있습니다.

지금까지 읽어주셔서 감사합니다.

 

*출처
Inference - The Beginner's Guide to Diff-SVC (gitbook.io)