딥러닝 소스코드를 보다보면 model.train()model.eval()이라는 코드를 종종 보게 된다.

 

train과 evaluate를 switching 할 수 있도록 nn.Module에서는 model.train()model.eval()이라는 함수를 제공한다.

 

train과 evaluate를 서로 다르게 동작해야하는 것들에는 대표적으로 아래와 같은 것들이 있다.

 

  • Dropout layer
  • Batch Norm layer

model.eval()은 위의 것들을 사용하기 않도록 하고, model.train()은 위의 것들을 사용하도록 한다.

 

Source: https://stackoverflow.com/questions/60018578/what-does-model-eval-do-in-pytorch/60018731#60018731

'연구내용 > DeepLearning' 카테고리의 다른 글

DCN MNIST 구현 패키지  (0) 2022.03.24
VSRnet_torch 패키지  (0) 2022.02.09
VSRnet (keras) 코드 및 패키지  (0) 2022.02.07
SRCNN 구현  (0) 2022.02.03

+ Recent posts