

위와 같이 model.train()과 model.eval()로 바꿔가며 비교해보았다.
BatchNorm이 있을 때랑 없을 때도 같이 비교하였다.
train 모드와 eval 모드가 거의 유사한 걸 보면 eval() 만으로 학습이 안되진 않는다.




BatchNorm을 사용하면 train 모드에선 alpha와 beta가 학습이 될테니, train과 eval의 학습 차이가 있다는 걸 확인할 수 있다.





추가적으로 model을 인자로 받고 eval() 메소드를 실행해도 원래 model의 training 속성값이 False로 바뀌는 것을 확인할 수 있다.