Pooling Layer
- Dimension의 크기를 줄이고 싶을 때 사용하는 down sampling 방식
- 주로 CNN은 Pooling을 이용하여 점점 feature map size는 작아지고,
Depth는 깊어지는 구조로 구성되어있음
Convolutional Neural Networks
- CNN, ConvNet, 합성곱 신경망
- Convolutional Layer + Pooling Layer로 이미지에서 정보를 추출한 뒤(feature extractor)
추출된 feature (=representation) 을 FC layer로 분류 (=Classifer)
#Define the input tensor
input = torch.randn(10, 3, 7, 7) #Batch_size, Kernel_size, Height, Weight
#Define the convolutional layer
conv = nn.Conv2d(in_channels=3, out_channels=2, kernel_size=3, stride=1, padding='same')
#Apply the convolution
output = conv(input)
#Print the output shape
print(output.shape)
==> Result: torch.Size([10, 2, 7, 7])
- datasets : torchvision 아래에 데이터셋 이미 구성되어 있음(FashionMNIST)
- transforms : 전처리 적용
- ToTensor : torch 텐서로 취급
- Normalize : trainset의 평균, 분산으로 픽셀들의 range를 scaling (표준화)
CNN 구성 잘 알기
Input
->
Conv Layer, ReLU
->
Max Pooling
->
Conv Layer, ReLU
->
Max Pooling
->
Flatten
->
FC Layer, ReLU
->
FC Layer
->
Softmax
->
Output
메타코드 4기 서포터즈 활동의 일환으로 작성한 게시글입니다.