딥러닝 23

[딥러닝] OpenCV

OpenCV 개요 Computer Vision : 사람의 시각적인 부분을 기계로 구현하는것을 목적으로 하는 딥러닝 분야 이미지, 동영상 등의 처리를 지원하는 라이브러리 C++로 제작되어 있고 Java, Android, Python 등 다양한 언어에서 구현 가능 특히 Python에서 OpenCV를 사용할 경우 Numpy, Matplotlib 등의 라이브러리들과 바로 연동 가능 import numpy as np import matplotlib.pyplot as plt # OpenCV 임포트 import cv2 # 이미지 불러오기 cat = cv2.imread('image/image_cat.jpg') # OpenCV와 matplotlib간 연동됨 plt.imshow(cat); OpenCV의 색상 체계 일반적인..

딥러닝 2022.07.28

[딥러닝] 로이터뉴스 카테고리분류(RNN+LSTM)

import numpy as np import pandas as pd import matplotlib.pyplot as plt # 로이터 뉴스 데이터 임포트 from tensorflow.keras.datasets import reuters data = reuters.load_data() (X_train, y_train), (X_test, y_test) = data # 뉴스기사 8982개 print(X_train.shape) print(y_train.shape) print(X_test.shape) print(y_test.shape) (8982,) (8982,) (2246,) (2246,) # 실제 뉴스 기사의 단어들을 다 숫자로 변경시켜서 저장해둔 데이터 # 현재 로이터 뉴스 기사 데이터셋은 레이블인코딩으..

딥러닝 2022.07.28

[딥러닝] Simple RNN

데이터셋 구축하기 문자 하나하나를 단위로 RNN을 사용해보자! hello, apple, lobby, daddy, bobby import numpy as np import pandas as pd import matplotlib.pyplot as plt # 문제 데이터는 hell, appl, lobb, dadd, bobb # 정답 데이터는 o, e, y, y, y # timesteps는? 4번(순환 횟수) # RNN 구조 파악을 위하여 직접 원핫인코딩을 해보자 # 문제 데이터 X_train = np.array( [ # 각각의 단어들 [ [1,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0] ], # h,e,l,l [ [0..

딥러닝 2022.07.26

[딥러닝] 데이터 증강(ImageDataGenerator)

데이터 증강(이미지 증식) 모델의 과대적합을 방지하기 위한 기법 중 하나 유사한 이미지를 생성하여 학습에 용이하게 만들어주고 학습데이터의 양 자체를 늘려주는 효과 from tensorflow.keras.preprocessing.image import ImageDataGenerator # ImageDataGenerator : 이미지 데이터를 생성하기 위한 조건을 설정하는 함수 aug = ImageDataGenerator(rotation_range=30, # 이미지 회전 각도 width_shift_range=0.2, # 20% 내외 수평이동 height_shift_range=0.2, # 20% 내외 수직이동 zoom_range=0.2, # 0.8 ~ 1.2배로 축소/확대 horizontal_flip=True..

딥러닝 2022.07.26

[딥러닝] VGG16 모델

from tensorflow.keras.applications import VGG16 # https://www.tensorflow.org/api_docs/python/tf/keras/applications/vgg16/VGG16?hl=ko # 여기 위에서 해당 모델 부분 확인 가능함 pre_trainde_model =VGG16(input_shape=(224,224,3), include_top=False, weights ='imagenet' ) # include_top =False : 불러온 모델의 MLP층을 사용하지 않고 특성추출부만 사용 (특성추출방식) # > 기존 이미지넷 대회에서는 1000가지의 이미지를 분류했으나 우리는 3가지 동물로만 분류하기 때문에 # MLP층을 우리에게 맞게 설정해줘야함 # w..

딥러닝 2022.07.26

[딥러닝] CNN 모델

from tensorflow.keras.layers import Conv2D, MaxPool2D, Flatten, Dropout cnn_model = Sequential() # 1.특성추출부(Conv - 특징이 되는 정보를 부각시켜 추출함) cnn_model.add(Conv2D(input_shape=(224,224,3), # 필터(돋보기)의 개수 -> 추출하는 특징의 개수를 설정 filters=128, # 필터의 크기 설정(행, 열) kernel_size=(3,3), # same : 원본 데이터의 크기에 맞게 알아서 패딩을 적용(valid : 패딩 적용 X) padding='same', activation='relu' )) # 2.특성추출부(Pooling - 불필요한 정보 삭제) # pool_size :..

딥러닝 2022.07.26

[딥러닝] 다중분류 신경망모델 만들기(3가지 동물 분류)

import numpy as np import pandas as pd import matplotlib.pyplot as plt data = np.load("/content/drive/MyDrive/Colab Notebooks/빅데이터 13차(딥러닝)/data/animals.npz") X_train = data['X_train'] X_test = data['X_test'] y_train = data['y_train'] y_test = data['y_test'] print(X_train.shape) print(y_train.shape) print(X_test.shape) print(y_test.shape) (960, 224, 224, 3) (960,) (240, 224, 224, 3) (..

딥러닝 2022.07.22

[딥러닝] 딥러닝 다중분류 모델 만들기 (3가지 동물 분류) 전처리

import numpy as np import pandas as pd import matplotlib.pyplot as plt from PIL import Image # os : 파일 및 폴더 처리에 관련된 라이브러리 import os # 각 폴더별 경로 지정 duck_dir = '오리/' raccoon_dir = '너구리/' platypus_dir = '오리너구리/' # os.listdir : 해당 경로에 있는 파일명들을 리스트로 순서대로 저장 duck_fnames = os.listdir(duck_dir) raccoon_fnames = os.listdir(Raccoon_dir) platypus_fnames = os.listdir(platypus_dir) # os.path.join : 폴더 경로와 파일명..

딥러닝 2022.07.22

[딥러닝] 구글 이미지 수집(with selenium)

!pip install selenium from selenium import webdriver as wb # 브라우저를 조작하는 도구 from selenium.webdriver.common.keys import Keys # 키 입력을 도와주는 도구(키보드) from bs4 import BeautifulSoup as bs # 문서를 파싱해서 선택자 활용을 도와주는 도구 from tqdm import tqdm # 반복문 진행 정도를 시각화해주는 도구 from urllib.request import urlretrieve # 이미지 다운로드를 도와주는 도구 import time # 시간제어 도구 import os # 폴더 생성,삭제,이동 등을 도와주는 도구 keyword = "오리너구리" # 이미지가 저장될 폴..

딥러닝 2022.07.22