반응형

딥러닝 21

딥러닝(20)prophet 라이브러리를 이용한 타임 시리즈 데이터 예측방법

prophet 라이브러리는 페이스북에서 개발한 라이브러리로써 타임 시리즈 데이터를 자동으로 인식해 그래프를 그려주고 그 데이터의 1년후 10년후 데이터를 예측한다. prophet을 써보자 우선 라이브러리를 호출한다. # import libraries import pandas as pd import numpy as np import matplotlib.pyplot as plt import random import seaborn as sns from prophet import Prophet 데이터 읽는 방법은 저번시간에도 진행하였고 학습할 데이터를 직접구한것이라 여러분도 타임 시리즈 데이터를 구해서 데이터를 불러보자 필자는 미국의 아보카도 리테일 데이터를 썻다. (2018년도 weekly 데이터) 데이터를 ..

딥러닝 2023.01.03

딥러닝(19) 에포크시마다 가장 좋은 모델을 저장하는 모델체크포인트 사용방법

트랜스퍼 러닝은 분명 좋은 방법이나 여전히 우리는 몇 에포크까지 해야 가장 좋은 모델이 되는지 알수 없다. 따라서 모델의 checkpoint를 만들어 에포크시마다 가장 좋은 모델이 되는 순간을 기록한다. 일단 데이터를 부르고 학습하는 순간까지 가보자 학습하기 전에 os라이브러리로 체크포인트의 경로를 만든다. #체크포인트 생성 if not os.path.exists(PROJECT_PATH + '/checkpoints/'+model_type+'/'): os.makedirs(PROJECT_PATH + '/checkpoints/'+model_type+'/') #로그 기록 if not os.path.exists(PROJECT_PATH + '/log/'+model_type+'/'): os.makedirs(PROJE..

딥러닝 2023.01.03

딥러닝(18) Transfer Learning과 Fine Tunning

Transfer Learning은 기존의 잘설계된 모델에 자신의 모델을 덧붙여 딥러닝을 진행하는 방법으로 회사에서도 많이 쓰이는 방법이다. Fine Tunning은 글 뒤에 후술하겠지만 Transfer Learning을 진행한 학습 모델에서 레이어를 다듬어 다시 학습하는 방법이다. 우선 Transfer Learning을 진행해보자 우선 데이터 파일을 받는다. !wget --no-check-certificate \ https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \ -O ./cats_and_dogs_filtered.zip 라이브러리를 호출한다. import os import zipfile import numpy as np i..

딥러닝 2023.01.03

딥러닝(17) 원본파일을 트레인/테스트 파일로 분리하여 사용하는 방법

이번 시간에는 이미지 원본 파일을 트레인/테스트 파일로 분리하여 사용하는 방법에 대해 알아본다. 우선 데이터를 구글 드라이브에 구글 코렙의 tmp경로로 넣어야 한다. 그런 다음 다운받은 파일의 압축을 푼다. # Cats-v-dogs dataset 으로, 데이터를 분리하고, 이미지 증강을 활용하요, 인공지능 학습시킨다. import os import zipfile import random import tensorflow as tf from tensorflow.keras.optimizers import RMSprop from tensorflow.keras.preprocessing.image import ImageDataGenerator from shutil import copyfile # /tmp 경로에 압..

딥러닝 2023.01.03

딥러닝(16) ImageDataGenerator 사용하기

ImageDataGenerator는 학습할 이미지 데이터가 부족할시 이미지를 편집하고 복사하여 데이터를 증강시켜주는 함수이다. 기본적으로 앞,뒤,옆모습은 기본이고 사진 뒤집기,회전,확대,축소도 된다. 이런식으로 이미지를 편집하고 증강하여 딥러닝의 정확도를 높인다. train_datagen = ImageDataGenerator( rotation_range=40, width_shift_range=0.2, height_shift_range=0.2, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, fill_mode='nearest')

딥러닝 2023.01.02

딥러닝(15) 텐서플로우를 활용한 CNN

이번 시간에는 파이썬 환경에서 텐서 플로우를 활용하여 CNN 모델을 세워보고 데이터 학습을 진행해보자 우선 데이터를 준비 한다. # 개,고양이 사진 데이터 준비 !wget --no-check-certificate \ https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \ -O /tmp/cats_and_dogs_filtered.zip # 데이터 압축풀기 import zipfile file = zipfile.ZipFile('/tmp/cats_and_dogs_filtered.zip') file.extractall('/tmp/cats_and_dogs_filtered') 데이터 경로를 지정한다. base_dir='/tmp/cats_an..

딥러닝 2023.01.02

딥러닝(14) 파이썬으로 압축파일 푸는 방법

CNN의 이미지 데이터들은 데이터 용량이 크기 때문에 대부분은 압축이 된 경우가 많다. 파이썬으로 이미지 데이터를 받고 압축을 푸는 작업을 해보자 우선 데이터 이미지가 압축된 파일을 다운로드 한다. # 리눅스 언어로 압축파일을 받아 온다. !wget --no-check-certificate \ https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \ -O /tmp/cats_and_dogs_filtered.zip 압축을 풀고 지정한 경로로 지정한 이름으로 저장한다. #지정한 경로로 압축을 풀기 import zipfile file = zipfile.ZipFile('/tmp/cats_and_dogs_filtered.zip') #지정한..

딥러닝 2023.01.02

딥러닝(13) pooling 이란

CNN 모델에서 또 한가지 중요한 개념은 풀링이다. 풀링은 image data의 사이즈를 줄여 작은 image로 만드는 과정이다. 풀링을 하는 이유는 데이터를 학습하는 과정에서 학습할 이미지의 전체 데이터 분량이 필요하지 않기 때문이다. 적당량 한 있어도 데이터가 학습되고 학습 효율을 높일수 있기 때문에 사용된다. 그럼 풀링은 어떻게 사용되는 것일까? 주로 풀링으로 잡은 영역의 데이터의 최댓값을 사용하거나 평균을 사용하여 풀링을 진행한다. 풀링은 추후에 CNN 모델링때 다시 이야기가 나올예정이다.

딥러닝 2023.01.02

딥러닝(12)CNN의 구조

지난 시간까지 배운 모델은 ANN로써 이미지데이터도 Flatten 라이브러리를 써서 1차원 데이터로 만든다음 분석할수 있지만 이렇게 되면 ANN로 이미지 데이터를 학습시키기 위해선 모든 이미지 데이터를 데이터 형식에 맞게 재구성해서 사용하여야 한다. 그렇게 된다면 너무나 비효율적인 학습이 진행될것이다. 따라서 새로운 모델인 CNN을 알아보자 CNN은 ANN과 연결하여 쓰지만 이미지 데이터를 변환 없이 그대로 적용할수 있기 때문에 주목을 받는다. 이미지 데이터가 들어 오게 되면 그 이미지 파일은 0,1로 이루어진 매트릭스가 되고 이를 Kernel,Featurt Detector 로 불리는 것으로 행렬의 곱처럼 매트릭스 일부분을 행렬로 삼아 곱하여 Feature Map에 곱한 값에 전체 합을 넣는다. 매트릭스..

딥러닝 2022.12.30

딥러닝(11) 텐서플로우의 모델을 저장하고 불러오는 방법

텐서플로우 모델을 만들시 구글코랩에서 만든 모델이면 임시로 구글에서 서버를 잠깐 빌려주는 식이라 빌려준 서버와의 연결이 끊기면 모델은 저장되지 않고 날아간다. 이러한 사태를 방지 하기 위해 모델을 저장하는 방법을 알아보자. 첫번째 방법은 딥러닝 했던 내용을 폴더로 저장하는 방법이다. # 전체 네트워크와 웨이트를 통으로 저장하고 불러오기 # 폴더 구조로 저장. model.save('fashion_mnist_model') # 저장된 인공지능을 불러오는 코드. tf.keras.models.load_model('fashion_mnist_model') 코드를 실행하면 구글서버에 폴더 형태로 저장되며 세션이 끊기면 사라지지만 세션이 끊기기 전에 폴더를 다운로드하여 저장할 수 있다. 두번째 방법은 h5파일로 저장하는..

딥러닝 2022.12.30