본문 바로가기
Artificial Intelligence/Neural Networks

[ CNN ] 5. Depth-wise Separable convolution - PyTorch Code

by SuperMemi 2021. 8. 12.
반응형

 

Depth-wise Separable convolution - PyTorch Code

 


 

 

- Idea in Xception

    : 기존의 Convolution 에서 Cross-chnnel Correlation을 분리하기 위해 제안

  •  Depth-wise conv 를 한 후, Point-wise conv를 하는 것을 말한다
  •  Spatial feature과 Channel-wise feature를 모두 고려하면서 네트워크를 경량화 한다
  •  Convolution 연산과 거의 유사하지만, 파라미터 수와 연산량은 훨씬 적다

 

 

import torch.nn as nn

class ConvBNReLU(nn.Module):
    def __init__(self, C_in, C_out, kernel_size, stride, padding, affine=True):
        super(ConvBNReLU, self).__init__()

        self.op = nn.Sequential(
            nn.Conv2d(C_in, C_in, kernel_size=kernel_size, stride=stride, padding=padding, groups=C_in, bias=False),
            nn.Conv2d(C_in, C_out , kernel_size=1, padding=0, bias=False),
            nn.BatchNorm2d(C_out, affine=affine),
            nn.ReLU(inplace=False)   
        )

    def forward(self, x):
        return self.op(x)

 


2021.08.12 - [AI/ML & DL] - [ CNN ] 6. Dilated convolution - PyTorch Code

 

[ CNN ] 6. Dilated convolution - PyTorch Code

Dilated convolution - PyTorch Code Dilated Convolution 을 이해하기 쉽게 예를들어 생각해보자 일단 convolution에서 filter는 도장같은 역할을 한다. 똑같은 모양을 사진 여기저기 찍어보면서 도장과 유사한..

supermemi.tistory.com


[ 참고자료 ]

https://www.slideshare.net/ssuser6135a1/ss-106656779

https://wingnim.tistory.com/104

https://eehoeskrap.tistory.com/431


 

반응형