CNN with pytorch
·
딥러닝/Vision
CNN CNN은 아래 사진 처럼 convolution 과정과 Pooling 과정을 반복 한후 Fully connected layer를 통해서 데이터를 출력 합니다. pytorch에서 conolution과 pooling 과정을 어떻게 적용하는지 알아보겠습니다. Convolution Layers pytorch에서는 Convolutoin연산을 위해 Conv2d를 많이 사용합니다. Conv2d의 파라미터에대해 알아 보겠습니다. Parameters in_channels (int) : input 이미지 채널 수 out_channels (int) : ouput 데이터의 채널 수 kernel_size (int or tuple) : kenrl의 사이즈 stride (int or tuple, optional) : Stri..
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
·
딥러닝/Vision
Efficient net 은 2019 CVPR에 발표된 MnasNet: Platform-Aware Neural Architecture Search for Mobile 의 저자인 Mingxing Tan*과 *Quoc V. Le 가 쓴 논문이며 Image Classification 타겟의 굉장히 성능이 좋은 Model인 EfficientNet을 제안하였습니다. Intorduction ConvNet의 성능을 올리기 위해 scaling up을 시도하는 것은 일반적은 일 입니다. 잘 알려진 ResNet은 ResNet-18 부터 ResNet-200 까지 망의 깊이(depth)를 늘려 성능 향상을 이루어 냈습니다. scaling up 하는 방식은 크게 3가지가 있습니다. 신경망의 depth(깊이)를 늘리는 것 cha..
Mobile Net
·
딥러닝/Vision
MobileNet의 등장 배경 구글의 Alphago의 경우 판후이와의 대결에서의 알파고는 1202개의 CPU와 176개의 GPU를 사용했고, 2016년 3월의 이세돌 九단과의 대결에서는 GPU대신 48개의 TPU를 사용했다고 합니다. 이 정도의 막대한 컴퓨팅파워를 가진 환경이라면 어떤 모델을 넣더라도 문제가 안 됨. 고성능이 아닌 환경에서는 ? 고성능의 디바이스가 아니라 자동차, 드론, 스마트폰과 같은 환경에서는 CPU를 하나 정도 가지고 있는 경우도 많고, GPU가 없을 수도 있으며, 메모리도 부족할 경우가 보통임. 구글 colab의 경우도 batch size를 조금만 키우면 out of memory가 나옴 . MobileNet은 컴퓨터 성능이 제한되거나 배터리 퍼포먼스가 중요한 곳에서 사용될 목적으로..
CNN
·
딥러닝/Vision
CNN (Convolutional Neural Network) 3차원 convolution에서 kernel(필터)와 input의 채널수가 같아야 한다는 점을 항상 명심 하자. 물론, output의 channel수는 커널 한 개당 한 개가 나오게 되므로, output으로 여러 채널을 얻고 싶다면 커널수를 늘리면 된다. 당연히, 커널수가 늘어나는 그만큼 parameter수도 늘어나가 된다는 점을 기억하자. Convolution 각 파트에서 커널의 특징이 주어지는데, 맨 왼쪽부터 커널의 갯수, 너비 x 높이 x 채널수를 의미한다. output의 채널은 커널의 갯수만큼 나오게 된다. 고전적 CNN 위 그림은 가장 고전적, 기본적 CNN구조이다. convolution/pooling layer들에서는 feature..
ariz1623
'딥러닝/Vision' 카테고리의 글 목록 (2 Page)