본문 바로가기

Activities/메타코드 서포터즈 4기

[CNN] 메타코드 강의 후기_챕터 3: Convolutional Neural Network(CNN) - part 2

 

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기 서포터즈 활동의 일환으로 작성한 게시글입니다. 

메타코드M (mcode.co.kr)