일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Meta Pseudo Labels
- dann paper
- CoMatch
- 백준 알고리즘
- WGAN
- tent paper
- cifar100-c
- ConMatch
- simclrv2
- Pix2Pix
- UnderstandingDeepLearning
- Pseudo Label
- shrinkmatch
- 최린컴퓨터구조
- dcgan
- CGAN
- SSL
- mocov3
- conjugate pseudo label paper
- shrinkmatch paper
- 딥러닝손실함수
- adamatch paper
- 컴퓨터구조
- remixmatch paper
- semi supervised learnin 가정
- mme paper
- BYOL
- Entropy Minimization
- GAN
- CycleGAN
Archives
- Today
- Total
Hello Computer Vision
BatchNorm1d와 BatchNorm2d 의 쓰임 차이 본문
지금까지 딥러닝 모델들을 공부하면서 CNN을 어떻게 쌓냐에 집중했지
BatchNorm 쓸 때는 습관적으로 쓰고는 했는데, 어떨 때는 BatchNorm1d를 쓰고 , BatchNorm2d를 쓰는 것을 발견했네요
(다른 사람의 코드를 쓰는 것도 생각을 많이 하고 써야겠다는 생각을 합니다..)
그래서 pytorch document 에서 찾아본 결과
BatchNorm1d : 2d or 3d input에 한하여 사용
BatchNorm2d : 4d input에 한하여 사용
이렇게 쓰인다고 합니다.
제가 공부하는 GAN모델에 한정하여 생각한다면
처음 노이즈(batchsize, 100)를 넣고 생성자부분에서 MLP를 진행할 때 정규화를 사용하고 싶다면 BatchNorm1d를 사용하고
판별자 네트워크를 짤 때는 이미지형태가 (c, b, w, h) 4d 형태이니 BatchNorm2d를 사용하면 될 거 같습니다.
그리고 제가 공부한 cGAN, vanila GAN에서는 (batch_size, latent_size) 를 input으로 넣었지만
DCGAN에서는 (batch_size, latent_size, 1, 1) 이렇게 넣었으므로 생성자 부분에서도 BatchNorm2를 사용했네요.
오늘을 계기로 작은 거 하나하나 왜 사용하였는지, 왜 다른지 잘 보면 좋을 거 같습니다.
'딥러닝 > 파이토치' 카테고리의 다른 글
nn.ReLU 에서의 inplace = True 의미 (0) | 2023.01.19 |
---|---|
nn.MaxPooling 에서의 ceil mode (0) | 2023.01.19 |
nn.ModuleList에 대해 알아보기 (0) | 2022.12.31 |
파이토치 모델 구조 살펴보기(summary) (0) | 2022.11.15 |
모델 및 레이어 가중치 초기화(weights initialization) (0) | 2022.11.03 |