본문 바로가기

CNN4

[Pytorch] 작물 잎 분류 Pre-trained model(resnet50) 1. 데이터 전처리 폴더 구성은 이전 글의 base model과 같고, 이미 학습된 resnet 모델을 불러옵니다 import torch import torchvision.transforms as transforms from torchvision.datasets import ImageFolder import os use_cuda = torch.cuda.is_available() device = torch.device("cuda" if use_cuda else "cpu") batch_size = 256 epoch = 30 data_transforms = { "train" : transforms.Compose([ transforms.Resize([64, 64]), transforms.RandomHorizon.. 2022. 2. 7.
[Pytorch] 작물 잎 분류 non Pre_trained model 1. 파일 분할 각 클래스에 해당하는 이미지 파일들은 다음과 같이 dataset 폴더 내에 각각의 클래스 이름의 폴더 내에 저장되어있습니다. 따라서 각 클래스별로 비율을 같게 학습, 검증, 시험 데이터로 분할해줍니다. import os import shutil origin = "/content/drive/MyDrive/pytorch project/작물 잎 분류/dataset" base = "/content/drive/MyDrive/pytorch project/작물 잎 분류/splitted" clss_list = os.listdir(origin) os.mkdir(base) train_dir = os.path.join(base, "train") val_dir = os.path.. 2022. 2. 6.
[Pytorch Part.5] Augmentation과 CNN DATA Augmentation이란? 복잡한 모델을 만들기 위해서는 다량의 데이터가 필요하지만 우리가 갖고 있는 데이터는 한정적입니다. DATA Augmentation은 이를 보완하기 위해 데이터를 임의로 변형해 데이터의 수를 늘려 다양한 feature를 뽑는 방법입니다. 위 사진과 같이 여러 기법을 사용하는데 대표적인 기법은 다음과 같습니다. Flip : 이미지를 랜덤하게 좌우 또는 상하 반전시킵니다. Scaling : 이미지를 확대 또는 축소시킵니다. Rotation : 이미지를 회전시킵니다. Crop : 이미지의 일정 부분을 잘라 사용합니다. Cutout : 이미지의 일부를 사각형 모양으로 검은색을 칠합니다. Cutmix : 두 이미지를 합쳐 놓고 이미지의 Label을 학습시킬 때 각각의 이미지가 .. 2022. 1. 14.
[Deeplearning Part .6-1] CNN CNN CNN은 합성곱 신경망이며, 이미지 인식과 음성 인식 등 다양한 곳에서 사용됩니다. CNN에서는 이 전 신경망과 달리 합성곱 계층convolutional layer와 풀링 계층pooling layer가 등장합니다. CNN의 기본 1. 합성곱 연산 합성곱 연산에서는 필터를 적용시킵니다. 위 그림의 가운데 행렬이 필터이며, 입력층에서 같은 크기를 갖는 윈도에 단일 곱셈 누산을 하고, 이를 출력합니다. 출력층의 행과 열 개수는 필터 크기의 윈도우를 입력층에서 몇 개 가질 수 있는지에 따라 결정됩니다. 일반적인 Affine 변환의 경우, 데이터를 1차원으로 평탄화하여 입력했지만, 위와 같이 합성곱 연산을 할 경우 데이터의 형상을 살릴 수 있습니다. 2. 패딩 padding 입력층의 주변을 폭 1짜리 0의.. 2022. 1. 9.