ai-starthon / AI_Starthon2019

60 stars 44 forks source link

[20_scls_stt] nsml 내부 inference 문제 (model 성능 CRR은 Epoch 1에서 70정도 나오는데 inference 과정에서 error 있는 것 같습니다. 도움!) #258

Open xaicrew opened 5 years ago

xaicrew commented 5 years ago

Informations

CLI

WEB

What is your NSML login ID? xaicrew

What is name of session in problem? (bug message or screenshot) team_261/20_scls_stt/407

Steps to reproduce the problem

nsml submit team_261/20_tcls_stt/407 XAICREW

or

nsml submit team_261/20_tcls_stt/407 XAI1000XAI

valid dataset에서는 CRR이 60~70 정도로 나오는 것으로 예상되나 inference 결과는 0.0027이 나옵니다. loss

What is the expected behavior?

valid dataset에서 debugging으로 batch(size = 64)마다 1 pair (ref, hyp) print되게 한 random한 output들입니다. 스크린샷(3834)

저기 output된 결과들에서 CRR을 계산해도 76.685012정도 나옵니다. valid dataset 전체에 대해 계산한 결과도 66.2대 점수로 나오고있습니다.

4시간 training동안 epoch 두번 돌았는데 epoch 0 에서 CRR이 30점대, epoch 1에서 60점대로 나오는 것으로 보아 얼마든지 더 높은 점수가 나왔을 수 있는 모델이었습니다. (충분한 시간을 training 한다면 8-90점대 가능할 것으로 보입니다.)

AVERAGE CER (Character Error Rate):
  0.23314987883608287

Character Recognition Rate:
  CRR = (1.0 - CER) * 100.0
      = 76.685012

inference 과정을 debugging 할 수 없어 이렇게 질문드립니다.

detail

[일부 output] 아래에 파일 첨부하겠습니다.

...

== result Ins : 1, Dels : 1, Subs : 7, Corr : 17, Err : 0.346154 ==
CER: 0.34615384615384615 for ref, hyp:
  진짜 근데 거기 가서 느낀 건데 안주 존맛탱
  응진짜 근데 거기 가진 느긴건데 한직 쫌았애

== result Ins : 8, Dels : 0, Subs : 9, Corr : 11, Err : 0.607143 ==
CER: 0.6071428571428571 for ref, hyp:
  으 두 개 다 가져오는 건데 이제 기말만 가져왔지
  뭐두게다 가서은문데 이기기을은가졌지

== result Ins : 1, Dels : 0, Subs : 5, Corr : 7, Err : 0.461538 ==
CER: 0.46153846153846156 for ref, hyp:
  나는 애기와 pc방이고
  나는 애기가비시많이그

== result Ins : 8, Dels : 0, Subs : 15, Corr : 34, Err : 0.403509 ==
CER: 0.40350877192982454 for ref, hyp:
  괜찮지 300 근데 또 300메가에 통화 문자 이렇게 무제한이니까 그렇게 싼 게 아닌 거 같기도 하고
  괜전지 선데 근데또 3명회가 쫌나 슨짜 이렇게보제하니까 그렇겠존년 아니 거 같기도 하고

== result Ins : 0, Dels : 0, Subs : 2, Corr : 4, Err : 0.333333 ==
CER: 0.3333333333333333 for ref, hyp:
  정장 샀어
  돈장 사어

== result Ins : 24, Dels : 2, Subs : 18, Corr : 34, Err : 0.564103 ==
CER: 0.5641025641025641 for ref, hyp:
  이 보면은 얘들 막 과외하는 거 이런 거 보면은 솔직히 수시로 대학 온 애들 엄청 많거든 근데 걔네들이 잘 가르치는 건 난 잘 모르겠어
  보면은 애들 막이하는 거은 보면은그직히에 솔실내가 보에대 엄청만보대 이 걔들이 잘려 지금건난잘보

== result Ins : 6, Dels : 1, Subs : 8, Corr : 14, Err : 0.517241 ==
CER: 0.5172413793103449 for ref, hyp:
  형 그 뭐지 역곡 가서 먹을래 아님 여기서 먹을래
  난 걸 뭐지 여고 가성을 라니면 병서 래

== result Ins : 2, Dels : 0, Subs : 6, Corr : 28, Err : 0.222222 ==
CER: 0.2222222222222222 for ref, hyp:
  거기서 걱정된다면 이제 내가 이번에 소방서로 공익을 가게 됐는데
  그기서 걱쫌된다면 이제 내가이번에 서반서로 공일을가게 되는데

== result Ins : 21, Dels : 1, Subs : 32, Corr : 47, Err : 0.534653 ==
CER: 0.5346534653465347 for ref, hyp:
  부산은 그냥 고속버스 타고 갈 거 같애 고속버스 ktx 탈라 했는데 막 저번에 타봤는데 되게 좁다는 거야 그래서 ktx 걍 버리고 고속버스 예약해서 고속버스 할 타고 갈 거 같애
  무사로 그냥 고속버적을 거 같애그속없 대게 돌했는데 쪽번에 전았느되이쪼떨은 거 그래서 그대시다거리고 솔속 버어 약계서 고서 봤어 타을 거 거애

== result Ins : 3, Dels : 0, Subs : 7, Corr : 9, Err : 0.526316 ==
CER: 0.5263157894736842 for ref, hyp:
  음 전에 합주하다가 얘기가 나왔어
  응따는 학자다가 내기가다왔어

== result Ins : 5, Dels : 0, Subs : 1, Corr : 5, Err : 0.545455 ==
CER: 0.5454545454545454 for ref, hyp:
  지금 쓰는 게 뭔데
  지금게보데

== result Ins : 2, Dels : 0, Subs : 0, Corr : 6, Err : 0.250000 ==
CER: 0.25 for ref, hyp:
  그래 걔가 이
  그래 걔가

calculated CER on 86 sample pairs
--------------------------------------------------------------------------------
AVERAGE CER (Character Error Rate):
  0.23314987883608287

Character Recognition Rate:
  CRR = (1.0 - CER) * 100.0
      = 76.685012

Suggested solutions

xaicrew commented 5 years ago

team_26120_tcls_stt407.86_valid_eval_samples.txt

xaicrew commented 5 years ago

Epoch 1에서 70정도 나와서 좋아하고 있었는데 Multi-GPU로 트레이닝 하다가 Epoch 1에서 GPU limit (2) 때문에 5시 남기고 submit을 위해 눈물을 머금고 nsml stop할 수 밖에 없었습니다ㅜㅜ 도와주세요

번거롭겠지만 심혈을 기울여 407번 NSML에 올린 정성을 생각해서라도 한번 봐주시면 좋겠습니다 ㅜㅜ

byc3230 commented 5 years ago

여기는 꼭 구제해줘야 할것 같네요!! 제가 다 안타깝네요 ㅜㅜ

byc3230 commented 5 years ago

저도 해당 문제 고민 했던 사람으로써 이정도면 완벽하네요!!

DohanKim commented 5 years ago

ㅠㅠ

xaicrew commented 5 years ago

main.py 내부의 infer에서

get_feature_from_librosa --> get_feature로 바꾸면 해결될 것 같습니다. ㅜㅜ

xaicrew commented 5 years ago

Custom 라이브러리도 사용하고 있어서 거기서 에러가 있을 수도 있습니다.