Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LexerNoViableAltException 로 인해 dataset.dataset_path를 지정할 수 없습니다. #147

Closed
tmvkrpxl0 opened this issue Mar 6, 2022 · 12 comments
Assignees
Labels
QUESTION Further information is requested

Comments

@tmvkrpxl0
Copy link

tmvkrpxl0 commented Mar 6, 2022

❓ Questions & Help

LexerNoViableAltException 로 인해 dataset.dataset_path를 지정할 수 없습니다.
로그: https://www.toptal.com/developers/hastebin/tavosicufa.sql

Details

데이터셋의 위치는 환경변수를 거치지 않고 절대 경로를 사용하여 하였습니다. 시스템 환경은 Kubuntu 21.10 입니다.
다른 이슈 페이지 들러보면서 인수가 어떻게 다른가를 점검해 보았으나 무엇이 다른지 잘 모르겠습니다.
hydra_train.py 를 직접 수정하여 인수를 직접 정의하면 작동은 됩니다.

직접 정의한 환경변수는 HYDRA_FULL_ERROR=1 가 유일합니다

@sooftware
Copy link
Member

shell script 에러인 것 같습니다. shell 커맨드를 개행문자 없이 실행해보시겠어요?

@sooftware sooftware added the QUESTION Further information is requested label Mar 7, 2022
@tmvkrpxl0
Copy link
Author

tmvkrpxl0 commented Mar 7, 2022

개행문자 없이 다 한줄입니다

/home/tmvkrpxl0/STT_KO/bin/python3.9 /home/tmvkrpxl0/STT_KO/openspeech/openspeech_cli/hydra_train.py dataset=ksponspeech dataset.dataset_path=/home/tmvkrpxl0/다운로드/KoSpeech_Data/한국어_음성_분야 dataset.manifest_file_path=/home/tmvkrpxl0/다운로드/KoSpeech_Data/전시문_통합_스크립트/train.trn dataset.test_dataset_path=/home/tmvkrpxl0/다운로드/KoSpeech_Data/평가용_데이터/eval_clean dataset.test_manifest_dir=/home/tmvkrpxl0/다운로드/KoSpeech_Data/전시문_통합_스크립트/eval_clean.trn tokenizer=kspon_character model=deepspeech2 audio=melspectrogram lr_scheduler=warmup_reduce_lr_on_plateau trainer=gpu criterion=ctc

@sooftware
Copy link
Member

한글이 포함돼서 그럴수도 있을 것 같습니다.

@tmvkrpxl0
Copy link
Author

경로에 한글이 포함되어 있어서 그랬습니다. 감사합니다. 그러나 실행 시도시 aihub_labels.csv 파일이 없어 문제가 발생합니다. 다른 이슈를 하나 더 생성할까요?

@sooftware
Copy link
Member

@upskyy aihub_labels.csv 리드미 적당한곳에 올려둬야 될 것 같은데, 올려줄 수 있어요?

@upskyy
Copy link
Member

upskyy commented Mar 7, 2022

@tmvkrpxl0 command에 tokenizer.vocab_path=VOCAB_PATH 추가해주시면 VOCAB_PATH에 label 파일 저장될 것 같습니다.
(ex. tokenizer.vocab_path=/home/tmvkrpxl0/kspon_character_labels.csv)
그리고 dataset.manifest_file_path도 원하는 경로에 텍스트파일로 지정해주시면 생성될 것 같습니다. (cc. @sooftware )

@tmvkrpxl0
Copy link
Author

@upskyy
저는 현재 테스트 및 훈련에 사용할 수 있는 csv 파일을 가지고 있지 않습니다. aihub_labels.csv 와 kspon_character_labels.csv 둘다 제가 다운받은 데이터셋에 포함되어 있지 않았으며, 이 리포지토리에서 찾을 수 있는 유일한 csv 파일은 tests/labels.csv 밖에 없었습니다.

@upskyy
Copy link
Member

upskyy commented Mar 8, 2022

@tmvkrpxl0 kspon_character_labels.csv 파일은 다운 받은 데이터셋에 포함되어 있지 않고, 코드상에서 생성됩니다.
command를 맞춰서 실행해주시면 manifest file이랑 label 파일이 생성되실거예요! 생성하는 코드는 여기 참고하시면 좋을 것 같습니다.
혹시 불편하셔서 그냥 파일 받기를 원하시면 seomk9896@gmail.com 으로 연락주시면 파일 공유드리겠습니다.

@tmvkrpxl0
Copy link
Author

dataset.manifest_file_pathdataset.test_manifest_dir 로는 전시문_통합_스크립트/train.trn 파일과 전시문_통합_스크립트/eval_clean.trn 를 사용하여도 괜찮나요?

@upskyy
Copy link
Member

upskyy commented Mar 9, 2022

여기보시면 조금 참고가 되실 것 같은데요.
dataset.manifest_file_path 는 manifest file이 생성되기 원하는 경로에 텍스트파일로 설정해주시면 될 것 같고(train.trn과 상관없이) , dataset.test_manifest_dir는 제가 링크 드린 것처럼 eval_clean.trn, eval_other.trn 파일이 있는 디렉토리를 설정해주시면 됩니다.

@tmvkrpxl0
Copy link
Author

tmvkrpxl0 commented Mar 13, 2022

흠, 작업 폴더를 다시 살펴보니 aihub_labels.csv 파일이 생성되었습니다. 이를 활용하여 훈련을 시키려고 하였으나 VRAM 크기가 부족하여 계속 Out of memory 로 훈련에 실패하네요.
Batch size 를 1 로도 줄여 보았고 num_workers 도 1 로 줄여보았으나 계속 같은 문제가 발생합니다. 현재 제가 사용하는 gpu의 vram 은 2GB로 매우 작습니다, 그 반면에 CPU 메모리는 24GB 입니다.
훈련을 CPU 에서 시도해 보는것도 고려해 보았으나 속도가 매우 느려 평소에 별로 사용하지도 않는 CPU 메모리에서 12GB 정도를 VRAM 에 할당하고 싶은데 가능할까요?

@upskyy
Copy link
Member

upskyy commented Mar 14, 2022

cpu보다는 gpu 학습을 추천드립니다. 근데 2GB면 학습이 힘들 것 같기는 하네요 😢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
QUESTION Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants