PyTorch: nn.Dropout

2171 단어 PyTorchPyTorch

nn.Dropout

Overfitting을 해결할 수 있는 방법 중 하나로,
일부 파라미터를 학습에 반영하지 않음으로써 모델을 일반화하는 방법
Train시에는 Dropout을 적용해야 하지만 Validation, Test 시에는 적용하면 안됨

사용법

torch.nn.Dropout(p=0.5, inplace=False)

p: drop_prob, 노드를 얼만큼 활용 안 할지 (요소가 0이 될 확률, Default: 0.5)
inplace: true로 설정하면 제자리에서 작업 수행 (Default: False)

Dropout을 사용시 주의할 점

model.train()model.eval()을 꼭 선언해야 모델의 정확도를 높일 수 있다!

# Example
model.train() # 학습에서는 드롭아웃을 사용 (dropout=True)
for epoch in range(1, 10):
# Example
with torch.no_grad():
	model.eval() # 검증에서는 드롭아웃 사용x (dropout=False)

좋은 웹페이지 즐겨찾기