2020년 5월 5일 화요일

Cylab diary 10 - 다양한 예제들을 돌려보자!_CNN 편 5

저번에 찾은 문제점에는 2가지가 있었는데요, 다시 살펴보니 lr에는 그렇게 큰 문제는 없었던 것 같습니다. github의 training details를 살펴보니 최종 lr이 0.001로 마무리되는 경우도 있었더라구요. lr을 낮춰도 성능이 크게 개선된 것은 아닌 걸 보니 확실히 lr문제는 아닌 것 같아요. 그래서 모델을 다시 점검해보는 방향으로 오기로 했습니다.

손으로 파라미터 수를 계산해보니 model.summary 결과와 맞아서 아무래도 제가 모델을 잘 못 이해한 것 같다는 결론을 내렸습니다. 그래서 깃헙 코드를 그대로 긁어와서 파라미터 수를 확인해보았습니다. pytorch는 평소에 안 쓰다 보니 조금 새로 익히는 데 귀찮긴 했는데 그래도 결과를 확인해보았습니다.



torchsummary 결과를 보면 위와 같습니다. 다시 제가 구성해놓은 모델을 살펴보도록 하겠습니다.



아....으아아아아아앙아아앙 깨달았다...
코드를 잘못 보고 있었네요... basicblock이 각각 2개씩 이었던 건데 그 2라는 게 (filter 개수 늘어나는 것 + 늘어난 상태로 conv2d 통과)라고 착각하고 있었네요... 코드를 수정해야겠습니다...ㅠㅠ -> 아예 새로 만들었습니다!
새로 만든 깃헙 링크 - (to be added)

흠 keras summary를 사용하다가 뭔가 에러가 떠서 stackoverflow에 물어보고 왔는데 생각보다 금방 답변해주시네요.. 자주자주 물어봐야겠습니당ㅋㅋㅋ아무튼! summary를 성공적으로 수행해보았습니다. 역시 다시 고치고 summary를 하고 나니 유사한 결과를 얻었습니다!



깃헙의 모델과 14400정도의 차이가 나는데 이는 bias를 두느냐 두지 않느냐의 차이입니다. 저는 bias를 넣었고 원래 모델에서는 bias를 넣지 않았네요. 사실 성능에는 큰 차이가 없을 것 같아서 굳이 수정하지 않았습니다. 그럼 이제 모델을 돌려보도록 하죠! 모델 깊이가 깊어진 만큼 어마어마한 시간이 걸리네요...ㅋㅋ 다른 거랑 병행하는 편이 좋겠습니다. 결과 나오면 차차 업데이트 하겠습니다!

0510 업데이트 - 아.. 그동안 계속 accuracy가 똥망이었는데 코드 실수한 걸 발견해서 수정했습니다. 그래도 그동안의 accuracy는 너무 안좋았는데 고치고 나니 좋아졌으려나요...?

댓글 없음:

댓글 쓰기