sooftware / kospeech

Open-Source Toolkit for End-to-End Korean Automatic Speech Recognition leveraging PyTorch and Hydra.
https://sooftware.github.io/kospeech/
Apache License 2.0
605 stars 192 forks source link

Running main.py during train #50

Closed sausage-333 closed 4 years ago

sausage-333 commented 4 years ago

안녕하세요, 코드를 돌리다 막히는 부분이 있어 이슈에 올려요.

저번 이슈에서 말씀하신 부분 듣고 경로 설정 및 이러저러한 과정을 거쳤는데요.

학습 과정의 main.py를 실행하는 과정에서 다음과 같은 이슈가 발생했습니다.

아마 audio file 경로를 설정해주지 않아서인 듯 한데...

run_seq2seq.sh 파일에서는 전처리되어 transcript된 파일 경로만 설정하더군요.

audio file 경로는 어떻게 설정해주면 될까요?

아래는 관련 이슈 캡처입니다.

항상 감사드립니다.

yjhgf

sooftware commented 4 years ago

audio와 transcript는 같은 폴더에 있어야 돌아가도록 코딩이 되어 있습니다.
혹시 폴더 구조를 어떻게 하셨는지 볼 수 있을까요?

sausage-333 commented 4 years ago

아하, 그렇군요

아래 사진은 KoSpeech 폴더 내부인데요.

Audio는 KoSpeech/data/KsponSpeech/,,, 전처리된 Transcript는 KoSpeech/character/

에 있습니다. 두 폴더 중 한 폴더를 같은 디렉토리로 옮기면 될까요?

h

감사합니다.

sooftware commented 4 years ago

네네 합쳐주시면 될 것 같습니다.

sausage-333 commented 4 years ago

혹시 방금 말씀이 .txt 와 .pcm 파일이 한 디렉토리에 있어야한다는 것인가요?

sooftware commented 4 years ago

네네 맞습니다.

sooftware commented 4 years ago

한 폴더에 KsponSpeech_000001.pcm KsponScrip_000001.txt ... 이런 식으로 쌍으로 있으면 됩니다.

sausage-333 commented 4 years ago

감사합니다.

sausage-333 commented 4 years ago

현재 이슈를 찾아보니, pre-processing 단계에서 merge_dataset 부분에서 pcm 파일들이 new path에 제대로 복붙이 안되는것 같아요. 이와 관련해서 혹시 이슈가 없나요? 이상하게 두 번째 사진의 if not 구문으로 흘러들어가네요.

shell에서의 경로설정 사진을 첨부합니다. 만약에라면, character 폴더로 .pcm 파일들이 복붙이 되어야 해요.

hrgf

rwesdgf hrtg

sooftware commented 4 years ago

아 전에 저도 확인했었는데 수정한다는게 깜빡했네요.
지금 하고있는 일만 마무리되면 수정하고 여기에 글 남기겠습니다. 이슈 남겨주셔서 감사합니다

sooftware commented 4 years ago

수정은 했는데, @sausage-333 님 log를 보니 Really? 가 여러번 뜨는게 이미 한 폴더에 오디오가 모여있는 건가요??
KsponSpeech-preprocess의 merge_dataset() 코드는 기존 폴더구조 KsponSpeech_01-KsponSpeech_0001-KsponSpeech_000001 ~ KsponSpeech_001000의 구조에서 오디오를 옮기는 코드입니다.

sausage-333 commented 4 years ago

아 그건, 그저 코드 flow가 really로 가는 걸 말씀드리고 싶어서 첨부했습니다. 실제로 위에 제가 첨부한 것처럼 dataset_path를 설정하여도, really가 5번 뜨더라구요. (ksponspeech 폴더가 01~05까지 있어서 5번 뜨는것 같아요.) 어떻게 수정이 된건가요??

sooftware commented 4 years ago

아 그 startswith kspon 2줄을 지우시고 해보실래요?

sausage-333 commented 4 years ago

함수 코드를 조금 수정해서 복사가 되어요! 앞서 말씀하신 것처럼 두 줄은 제외했습니다. 다만 Error Handling이 필요해 보이기는 합니다.

제가 보기에는, dataset_path의 listdir을 쓸 때 이것을 단순히, len으로 쳐버려서 listdir의 list 내용물이 for문 돌아갈 때는 다 버려진 것 같습니다.

egfd

sooftware commented 4 years ago

음.. len으로해서 내용물이 버려진다는게 무슨 의미인지 모르겠네요.
어떤 에러가 나는지를 보여주실래요?
그리고 폴더 구조가 정상적으로 되어있나요?

sausage-333 commented 4 years ago

5

제 말은 폴터가 ksponspeech가 없을 때에도 에러 핸들링을 하면 좋을 것 같다는 말이었습니다. 에러가 뜬다는 말은 아니에요.

다만...지금 main.py를 돌리던 중에 10번째부터 cuda assert error가 떠서 label 설정이 잘못됐나 확인하고 있습니다.

sausage-333 commented 4 years ago

관련 이슈입니다. 다른 이슈들에서 Label 관련 이슈라고 했는데,,,만약 그 이슈라면 왜 발생(Outlier 제거랑 제거하지 않은 것 차이)하는지는 알겠는데, 어떻게 수정해야할지는 구체적으로 잘 모르겠습니다. Label_dest는 맨 위의 캡처처럼 그대로 진행하여 제일 바깥에, aihub_labels.csv파일이 들어온 상태입니다.

gerf btgefr

sooftware commented 4 years ago

전처리과정에서 생성된 aihub_labels.csv로 경로를 설정해주셔야 합니다. 총 개수가 2337개인 파일이 있는지 확인해주세요

sooftware commented 4 years ago

/kospeech/utils.py에 경로 설정하시는 부분에 설정해주시면 해당 에러는 해결될 것 같습니다.
전처리랑 학습 코드를 연결시키는 부분에 저의 설명이 부족한거 같아 항상 추가해야겠다고 생각하는데 일이 바빠 못하고 있네요 ㅠ.ㅠ

sausage-333 commented 4 years ago

네, 말씀하신대로 utils.py에서 전처리된 table로 하니까 100에서 안멈추고 잘 학습되네요. 감사합니다! 또, 질문사항 있으면 드릴게요.