딥러닝 소스코드를 보다보면 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 |