일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- GAN
- 백준 알고리즘
- 최린컴퓨터구조
- WGAN
- cifar100-c
- semi supervised learnin 가정
- Meta Pseudo Labels
- dann paper
- ConMatch
- Pseudo Label
- dcgan
- SSL
- CGAN
- Pix2Pix
- 컴퓨터구조
- tent paper
- UnderstandingDeepLearning
- simclrv2
- CoMatch
- mocov3
- Entropy Minimization
- adamatch paper
- CycleGAN
- remixmatch paper
- 딥러닝손실함수
- conjugate pseudo label paper
- shrinkmatch
- BYOL
- shrinkmatch paper
- mme paper
Archives
- Today
- Total
Hello Computer Vision
nn.ReLU 에서의 inplace = True 의미 본문
활성화 함수로 가장 많이 쓰이는 ReLU 함수에서 종종 nn.ReLU(inplace = True)를 볼 수 있다.
파이토치 공식문서에는 정확히 이렇게 적혀있다.
inplace (bool) – can optionally do the operation in-place. Default: False
이에 대해 해석해보자면 inplace값을 True로 준다면 인풋 값에 대한 결과값을 따로 저장하는 것이 아니라
그 자리에 있던 데이터 값을 대신하는 것이라고 할 수 있다.
조금 복잡해보일 수 있지만 정리하자면 들어온 input값이 없어지고 output값만 남는다고 할 수 있다.
따라서 기존에 input값을 저장했던 메모리를 따로 할당할 필요가 없으니 약간의 메모리적인 이득을 얻을 수 있다고 하는데
이 부분은 현업에 내가 있는 것이 아니라 어느 정도 차이가나는지는 모르겠다.
그렇다면 어쨌든 좋은 기능같은데 왜 기본값은 False일까?
False를 주어도 일단 아무 문제가 없지만 만약 True값을 주어 input값을 소실시킨다면 gradient과정에서 문제가 생길 수 있다고 합니다.
이 부분도 아직 겪어보지는 못했지만.. 아직은 엄청 큰 모델을 돌리지를 않으니 굳이 True값을 설정할 필요가 없다고 생각한다!
'딥러닝 > 파이토치' 카테고리의 다른 글
transforms.Resize (0) | 2023.01.21 |
---|---|
nn.AdaptiveAvgPool2d 란? (0) | 2023.01.19 |
nn.MaxPooling 에서의 ceil mode (0) | 2023.01.19 |
nn.ModuleList에 대해 알아보기 (0) | 2022.12.31 |
파이토치 모델 구조 살펴보기(summary) (0) | 2022.11.15 |