일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- dann paper
- 최린컴퓨터구조
- Meta Pseudo Labels
- CoMatch
- ConMatch
- adamatch paper
- simclrv2
- Pix2Pix
- mocov3
- 백준 알고리즘
- tent paper
- Pseudo Label
- CycleGAN
- Entropy Minimization
- mme paper
- conjugate pseudo label paper
- dcgan
- BYOL
- 컴퓨터구조
- GAN
- remixmatch paper
- 딥러닝손실함수
- UnderstandingDeepLearning
- SSL
- shrinkmatch paper
- WGAN
- cifar100-c
- semi supervised learnin 가정
- CGAN
- shrinkmatch
Archives
- Today
- Total
Hello Computer Vision
nn.MaxPooling 에서의 ceil mode 본문
이번에 SqueezeNet에 대한 모델 코드들을 보는데 풀링을 하는 과정에서 ceil mode = True
이렇게 되어있어 알고 넘어가보려고 한다.
일단 공식 문서에 따르면 정확히 이렇게 나와있다.
- ceil_mode (bool) – when True, will use ceil instead of floor to compute the output shape
이거에 따라 결과로 나오는 output의 모양이 파라미터 값에 따라 달라지는구나? 라고 생각할 수 있다.
ceil --> 이 뜻은 올림을 뜻한다. 따라서 True값을 준다면 올림을 하는 것이고 기본값은 False로 되어있다.
예시를 통해 한번 알아보려고 한다.
input = torch.rand(1, 6, 6)
tensor([[[0.0656, 0.0923, 0.3850, 0.9484, 0.6407, 0.7135],
[0.3726, 0.6871, 0.5251, 0.7195, 0.1066, 0.8625],
[0.1475, 0.6591, 0.2096, 0.0127, 0.8851, 0.3977],
[0.3160, 0.3570, 0.0625, 0.4570, 0.8649, 0.3875],
[0.5382, 0.0878, 0.5553, 0.7918, 0.1299, 0.9624],
[0.8061, 0.7137, 0.9099, 0.8074, 0.0526, 0.2649]]])
일단 6x6의 데이터를 준비한다.
maxp2 = nn.MaxPool2d(kernel_size = 3, stride = 2)
output = maxp2(input)
output
tensor([[[0.6871, 0.9484],
[0.6591, 0.8851]]])
풀링을 하는 과정에서 3x3의 커널, stride 2로 풀링을 해본다면 크기가 정확하게 딱 떨어지지 않고 조금 남는 것을 알 수 있다. 따라서 2x2의 데이터를 얻는다.
maxp3 = nn.MaxPool2d(kernel_size = 3, stride = 2, ceil_mode = True)
output = maxp2(input)
output.shape
torch.Size([1, 3, 3])
그러나 ceil mode를 할 경우 남는 부분 없이 다 올림 처리하기 때문에 3x3을 얻게 되는 것이다.
'딥러닝 > 파이토치' 카테고리의 다른 글
nn.AdaptiveAvgPool2d 란? (0) | 2023.01.19 |
---|---|
nn.ReLU 에서의 inplace = True 의미 (0) | 2023.01.19 |
nn.ModuleList에 대해 알아보기 (0) | 2022.12.31 |
파이토치 모델 구조 살펴보기(summary) (0) | 2022.11.15 |
BatchNorm1d와 BatchNorm2d 의 쓰임 차이 (0) | 2022.11.15 |