본문 바로가기

AI_basic/Pytorch6

[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.
[Pytorch Part.4] AutoEncoder AutoEncoder란? AutoEncoder란 비지도 학습 방식으로 훈련된 인공 신경망으로, 먼저 데이터에 인코딩 된 표현을 학습한 다음, 학습된 인코딩 표현에서 입력 데이터를 생성하는 것을 목표로 한다. 따라서 , 오토인코더의 출력은 입력에 대한 예측이다. AE를 활용하면 Input data를 Latent Space에 압축시켜 이 값을 새로운 Feature로 사용할 수 있는데, Dimension을 줄일 수 있다는 장점이 있다. AE의 응용 이미지 생성 이미지 변환 이미지 초 고해상도 이미지 복원 이미지 설명(caption) 대표적인 AE 1. Stacked AE Stacked AE는 위 그림과 같이 Hidden Layer를 다시 input으로 사용해 AE를 반복적으로 수행 후 각 Hidden Laye.. 2022. 1. 14.
[Pytorch Part.2] AI Background 인공지능이란? 인공지능을 쉽게 정의하면 "컴퓨터가 데이터를 이용해 학습할 수 있도록 하는 기술"입니다. 그 중에는 머신러닝, 딥러닝이 포함되어있고, 딥러닝은 인공지능의 획기적인 발전을 이끌었습니다. 1. 인공지능의 사례 이미지 분류 인간이 이미지를 분류하는 성능은 약 95%로 알려져있습니다. 2010년부터 인공지능 모델을 이용해 이미지를 분류하는 대회를 보면, 2015년에 "Resnet"이라는 모델이 약 96%의 성능을 기록하면서 인간의 능력을 뛰어넘기 시작했습니다. 객체 탐지 객체 탐지(Object Detection)은 어떤 이미지 및 비디오 속에 포함돼 이쓴ㄴ 무레에 대해 해당 물체가 어떤 물체인지를 분류하는 문제와 물체의 위치를 찾아내는 문제입니다. 자율주행 자동차, CCTV 등과 같은 카메라 기술.. 2022. 1. 6.
[Pytorch Part.1] Basic Skill 1. Scalar 우리가 아는 선형대수에서 배우는 스칼라 즉 상숫값입니다. torch 내 tensor method를 이용해 스칼라 값을 정의할 수 있습니다. import torch scalar1 = torch.tensor([1.]) scalar1 = torch.tensor([2.]) print(scalar1) #tensor([1.]) tensor([1.])가 출력됩니다. 이러한 스칼라값들은 사칙연산 기호 또는 내장 메서드를 이용해 계산할 수 있습니다. torch.add(scalar1, scalar2) # 덧셈 # scalar1 + scalar2 torch.sub(scalar1, scalar2) # 뺄셈 # scalar1 - scalar2 torch.mul(scalar1, scalar2) # 곱셈 # sc.. 2022. 1. 5.