eval 모드로 학습한 네트워크를 실험해보면
성능이 엄청나게 낮아지는 현상을 발견했다.
처음엔 그냥 학습이 안되서 그런건 줄 알았는데,
진짜 일주일 동안 별짓 다하다가 pytorch의 버그라는걸 알게됬다.
검색해보니 이미 유명한 버그다.
문제는 batchnorm 얘 때문이다.
eval 할 때 momentum 값이 제대로 초기화되지 않아서 발생하는 것 같다.
pytorch 1.0이 새로 나왔던데, 해결했는지는 모르겠다.
그 전의 최신버전은 0.4.1 버전도 이 문제를 갖고있다.
화남
그리고 이번에 여러 네트워크를 동시에 사용하려 했는데,
여러 네트워크를 정의해도 위처럼 성능이 저하되는 문제를 발견했다.
진짜 이건 이유를 모르겠다. 해결법도 모르겠어서 분석중이다..
'실습 > pytorch' 카테고리의 다른 글
load_state_dict 성능 문제, [nn.ModuleList] (2) | 2018.11.08 |
---|---|
PyTorch GPU check (1) | 2018.08.29 |
pytorch 메모 (0) | 2018.03.11 |