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

pretrain model 테스트 문의 #57

Closed patnh2 closed 4 years ago

patnh2 commented 4 years ago

안녕하세요? 먼저 훌륭한 프로젝트를 공유해 주셔서 감사합니다. pretrain model을 테스트해 보고 싶은데요. 제 single gpu환경에서 run_pretrain.py을 실행하면 이슈 #27과 #40에서와 같은 에러가 납니다.

IndexError: list index out of range

이슈 #32에서 알려주신 방법도 해보고 CUDA_VISIBLE_DEVICES 설정도 했봤는데 잘 안됐습니다.

model = ListenAttendSpell(set hyperparameters) model.load_state_dict(torch.load('pretrain path').state_dict())

마지막으로 시도한 방법은 load_test_model 함수를 아래와 같이 수정했습니다.

def load_test_model(opt, device): model = torch.load(opt.model_path, map_location=lambda storage, loc: storage).to(device) if isinstance(model, nn.DataParallel): model = model.module

model.encoder.device = device
model.decoder.device = device

return model

몇 개의 테스트 데이터를 가지고 실행하면 오류없이 결과는 나오는데 아래와 같이 정답과 완전히 동떨어진 결과가 나옵니다.

정답 그는 괜찮은 척하려고 애쓰는 것 같았다.

결과 ['아 야 백 원 일 이십 일 오 만 이 학년 때 내 내 내 내 내일']

mfcc와 fbank로도 해보고 load_audio 함수의 extension 인자도 변경해 봤는데 결과는 비슷합니다. 테스트 데이터는 캐글에서 구한 깨끗하게 녹음된 wav파일입니다. 방법이 없을까요? 감사합니다.

테스트 환경

sooftware commented 4 years ago

학습 당시, 피쳐 쪽을 뒤집어서 학습시켰는데 작성자님께서 실행하신 코드는 피쳐를 뒤집지 않았기 때문에, 엉뚱한 결과가 나온 것 같습니다 ㅎㅎ.. 한번 다시 테스크 해주시고 결과 남겨주시면 감사하겠습니다.

이래도 결과가 이상하다면 제 메일로 오디오 파일 보내주시면 확인해보겠습니다.

kaki.brain@kakaobrain.com으로 메일주세요.