본문 바로가기

AI

인공지능 코드 구현

1. Custom DataSet 만드는 방법

1) 앞으로 사용하게 될 DataSet 유형

  • 현재까지 사용한 DataSet유형: Open DataSet > "CIFAR10" (압축 파일로 묶여 제공)

하나의 batch마다 1만개의 데이터 들어있다.

databatch1 : 1 - 10000개, databatch2 : 1001- 20000개 ... databatch5 : 4001-50000개
파이토치 튜토리얼에서 loading 할 수 있는 문법
torchvision.datasets.CIFAR10(root="", transform="", ToTensor()).. 로 활용 가능
그러나 개발 시에는 이렇게 사용 불가.
위와 같이 1만개를 압축해 load 가능한 이유는 워낙 이미지가 작고 가볍기 때문 - toy dataset이다.
실제에서는 시간이 너무 많이 소요되므로 위와 같이 압축이 불가능하다.
또한, CIFAR10() 함수는 사용 불가능하다.
custom 함수의 정의가 필수이다.

  • Custom DataSet : 오늘은 CIFAR10을 압축 파일로 묶이지 않은 데이터로 전환시켜 사용한다.(https://pjreddie.com/projects/cifar-10-dataset-mirror/)
  • Custom DataSet을 어떻게 직관적으로 구성할 수 있는가?Training Data는 이미지(X) + 정답(y)로 직관적 Data 형태(라벨과 이미지만으로 구성)로 구성되어있다.
    직관적 데이터 형태
    png가 라벨, 1~6000이 이미지
  • Custom DataSet은 결국 압축 상태가 아니어야 하며 직관적으로 볼 수 있도록 구성되어야한다.

2. Google Driver 로딩을 Colab에 mount 시키는 방법

  • cloud기반에 DataSet을 압축 형태로 load -> load된 데이터를 colab에서 가져오기 위해 google driver를 import 후, colab home 밑의 경로로 데이터를 붙이는 과정인 mount가 필요.
  • google drive에서 colab으로 mount되는 경로 과정

    mount가 잘 진행되었을 때 test와 train 데이터가 들어있다
  • google drive에 압축을 푼 60000개의 파일을 Colab에 넣는 것은 불가능하다. 구글 용량 지원이 되지 않음. 따라서 압축파일로 올린다.
  • 압축파일을 colab에서 풀어야한다. 용량제한이 아닌 개수가 한정되어있음을 알 수 있다.

    google drive에 들어간 데이터를 colab으로main.ipynb 실행 후, 링크에 들어가 인증코드 받아와야한다.
    colab이 google drive import 해주어야한다.
    압축된 파일을 colab으로 옮겨야한다. 마찬가지로 압축 풀면 데이터 안올라간다.
    그 후, colab로컬에서 압축 파일 해제해야한다!!!

3. 인공지능 코드 - main.ipynb 코드 정확히 내것으로 만들며 공부하기

  • Data Augmentation은 어렵다.. 순서와 적용되는 코드를 잘 적용할 필요가 있다.. 다루기가 까다롭다.
  • conv2d + batchNormalization + ReLU + max pooling 순서가 일반적
  • 호출과 resume의 순서와 작동 원리를 잘 파악해야한다.
  • models들어가서 VGG 코드 확인해보기. 중요한 모델이다

'AI' 카테고리의 다른 글

Binary Classification  (0) 2021.06.11
Segmentation  (0) 2021.06.10
TNN(Trainning Neural Network)  (0) 2021.06.07
CNN (Convolutional Neural Network)  (0) 2021.06.04
Back Propagation  (0) 2021.06.03