wlsdml1114/diff-svc

binarize 과정 중 indexerror 발생

dlfmadksla279 opened this issue · 7 comments

| Binarizer: <class 'preprocessing.SVCpre.SVCBinarizer'>
Traceback (most recent call last):
File "C:\diff-svc-main\preprocessing\binarize.py", line 20, in
binarize()
File "C:\diff-svc-main\preprocessing\binarize.py", line 15, in binarize
binarizer_cls().process()
File "C:\diff-svc-main\preprocessing\SVCpre.py", line 29, in init
super().init(item_attributes)
File "C:\diff-svc-main\preprocessing\base_binarizer.py", line 52, in init
assert all([attr in self.item_attributes for attr in list(self.items.values())[0].keys()])
IndexError: list index out of range

#22
위에서 나온 다른 분들의 선례대로 재설치/파일 이름 통일까지 해봤는데 안되네요......

버그가 재현이 안됩니다..

경로에 영문외에 다른 문자가 들어간거 아닌가요?

저도 완전히 동일한 에러가 뜹니다 뒤져봤는데 config 내에 파일이름이나 위치가 잘못되어서 그렇다는데 아무리 고쳐도 안되더라고요... 경로가 무슨 경로인지는 모르겠는데 다 영어로만 되어있습니다

set PYTHONPATH=" " 뒤에를 절대경로로 지정해보시고
따옴표로 묶어주세요.
그리고 역시 경로상에 띄어쓰기도 제거해주세요

저도 같은 오류가 발생했는데요.
윗분 말씀처럼 config 파일 내 정보가 꼬여서 발생했습니다.
파일 상단에 세팅한 몇개 정보를 아래서 다른 것으로 재설정 하게 되어있더라구요..
파일이 변경된 이유는 모르겠으나 해당 부분 수정하니 해결되었습니다.
한눈에 발견하기 어려우신 경우는 정상 파일 다운 받으셔서 vscode나 다른 툴의 비교기능 사용해보시면 좋을 것 같아요

같은 이슈에 대해 제가 해결한 케이스에 한정지어 설명드립니다.

설치 매뉴얼에 따르면 diff-svc 폴더에 그냥 깔아도 된다고 나오는데,
hubert checkpoints나 nsf_hifigan model이 checkpoints 하위 폴더로 있어야 구동되었습니다.

스크린샷 2023-05-08 오후 10 47 14

path의 예외처리가 되어 있는 부분에서 문제가 발생하는 것 같습니다만,
전체 코드를 리뷰한 건 아니라서 정확히는 모르겠습니다. ^^;

atnng commented

제 경우에는 바이너라이즈 과정에서는 문제가 안 생겼는데 학습 실행 시 'nsfhifigan' object has no attribute 'h' 라며 오류가 떴습니다. 위 방법대로 했더니 잘 되네요