binarize 과정 진행 중 IndexError가 뜹니다.
deaganazi opened this issue · 9 comments
python preprocessing/binarize.py --config training/config.yaml
위에 명령어를 치고 나면 자꾸
IndexError: list index out of range
이런 메시지가 뜹니다. 껐다 키고 몇 번을 해봐도 안되네요.
에러 전체를 올려주세요
코드 몇번쨰줄에서 에러가 났는지를 알아야 원인을 알 수 있습니다
재부팅 하고 파일 이름까지 똑같게 해서 다시 해보니깐 잘 되네요! 답변 감사합니다!
안녕하십니까, 불철주야 고생이 많으십니다. 다름이 아니라 저 또한 binarize단계에서 같은 오류가 뜹니다.
| Binarizer: <class 'preprocessing.SVCpre.SVCBinarizer'>
spkers: {'test'}
| spk_map: {'test': 0}
Traceback (most recent call last):
File "preprocessing/binarize.py", line 20, in
binarize()
File "preprocessing/binarize.py", line 15, in binarize
binarizer_cls().process()
File "C:\Users\disci\OneDrive\바탕 화면\diff-svc-main\preprocessing\base_binarizer.py", line 134, in process
self.phone_encoder =self._phone_encoder()
File "C:\Users\disci\OneDrive\바탕 화면\diff-svc-main\preprocessing\SVCpre.py", line 63, in _phone_encoder
return Hubertencoder(hparams['hubert_path'])
File "C:\Users\disci\OneDrive\바탕 화면\diff-svc-main\preprocessing\hubertinfer.py", line 22, in init
pt_path = list(Path(pt_path).parent.rglob('*.pt'))[0]
IndexError: list index out of range
이전 버전에서는 어찌저찌 해결했었는데 갑자기 사용하려니 안되네요. 어떻게 해결하셨는지 알려주실수 있으신가요?
set PYTHONPATH=.
설정을 안하신거 같네요.
hubert 모델 path를 못찾는 에러네요
anaconda prompt창을 킬때마다 프로젝트 root에서 항상 세팅을 해줘야 합니다
음, 말씀주신부분은 항상 지정하고 있었으나 6기가 이상으로 실행시킬때 문제가 반복적으로 발생합니다. hiffigan 모델이 문제인것 같아서 config_nsf.yaml 의 경로를 수정한다거나 이것저것 건드려보았는데 뭐가 문제인지는 모르겠네요. 6기가 이하 기준 명령어에서는 정상작동합니다
nsf 쓰실거면 Nsf Hifigan checkpoint를 별도로 다운로드 받으셔야하는데 받으셨나요?
네 받아서 checkpoints 폴더에 넣어두었습니다
hubert_path가 이상하게 지정되어있거나 hubert모델이 없는것처럼 보입니다.
File "C:\Users\disci\OneDrive\바탕 화면\diff-svc-main\preprocessing\SVCpre.py", line 63, in _phone_encoder
return Hubertencoder(hparams['hubert_path'])
File "C:\Users\disci\OneDrive\바탕 화면\diff-svc-main\preprocessing\hubertinfer.py", line 22, in init
pt_path = list(Path(pt_path).parent.rglob('*.pt'))[0]
올려주신 에러에서 보면 hparams 가 config의 내용을 가져오는건데 hubert_path를 이용해 Hubert encoder를 리턴하는 과정에서 hubert모델의 경로를 찾아오는데 실패한 케이스입니다.
음 아무리 설정해도 해결되지 않아 리포지트리를 포함한 모든 요소를 재설치하니 되네요. 감사합니다