Closed patnh2 closed 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파일입니다. 방법이 없을까요? 감사합니다.
테스트 환경
학습 당시, 피쳐 쪽을 뒤집어서 학습시켰는데 작성자님께서 실행하신 코드는 피쳐를 뒤집지 않았기 때문에, 엉뚱한 결과가 나온 것 같습니다 ㅎㅎ.. 한번 다시 테스크 해주시고 결과 남겨주시면 감사하겠습니다.
이래도 결과가 이상하다면 제 메일로 오디오 파일 보내주시면 확인해보겠습니다.
kaki.brain@kakaobrain.com으로 메일주세요.
안녕하세요? 먼저 훌륭한 프로젝트를 공유해 주셔서 감사합니다. 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
몇 개의 테스트 데이터를 가지고 실행하면 오류없이 결과는 나오는데 아래와 같이 정답과 완전히 동떨어진 결과가 나옵니다.
정답 그는 괜찮은 척하려고 애쓰는 것 같았다.
결과 ['아 야 백 원 일 이십 일 오 만 이 학년 때 내 내 내 내 내일']
mfcc와 fbank로도 해보고 load_audio 함수의 extension 인자도 변경해 봤는데 결과는 비슷합니다. 테스트 데이터는 캐글에서 구한 깨끗하게 녹음된 wav파일입니다. 방법이 없을까요? 감사합니다.
테스트 환경