인공지능/CNN 8

Keras CNN functional로 글써보기

# Day_28_02_chosun.py import tensorflow as tf import numpy as np import re # 파일 다운로드 # url = 'http://bit.ly/2Mc3SOV' # file_path = tf.keras.utils.get_file( # 'chosun.txt', url, cache_dir='.', cache_subdir='data') # print(file_path) # str 정리 한글처리부분 ( 불용어 ) def clean_str(string): string = re.sub(r"[^가-힣0-9]", " ", string) # string = re.sub(r",", " , ", string) # string = re.sub(r"!", " ! ", string..

인공지능/CNN 2020.12.10

이미지 증식과 분석, 사전학습된 것 적용시키기 (전이 학습)

# Day_25_01_DogsAndCats.py import tensorflow as tf import numpy as np import os import time import pickle import matplotlib.pyplot as plt from tensorflow.keras import optimizers from tensorflow.keras.preprocessing.image import ImageDataGenerator as IDG # 베이스 라인 만들 것임 # 이미지 증식 후 분석 # slim 에서 본거 같이 사전학습된 것으로 우리꺼 예측해볼 것 (전이 학습) def get_model_name(version): filename = 'dogcat_small_{}.h5'.format(ver..

인공지능/CNN 2020.12.09

이미지 사이즈 조절 및 이미지 분석 (feat. VGG)

주석을 봐도 모르겠으면 알려주세요 # Day_23_01_17flowers.py # 17flowers_origin import tensorflow as tf import os import glob from PIL import Image from sklearn import preprocessing, model_selection import numpy as np # 이미지를 224 * 224 로 바꿔야함 # 17flowers_origin -> 224로 줄여서 def resize_17flowers(src_folder, dst_folder, new_size): # 폴더 없으면 만들어줌 if not os.path.exists(dst_folder): os.mkdir(dst_folder) files = glob.glo..

인공지능/CNN 2020.12.04

VGG

주석을 봐도 모르겠으면 알려주세요 # Day_22_02_VGG.py import tensorflow as tf def model_vgg_dense(): # slim 라이브러리에 있는 vgg 파일을 활용해서 케라스 vgg 모델을 구현하세요 # 결관 summary 함수를 통해 shape 로 확인합니다. model = tf.keras.Sequential() model.add(tf.keras.layers.Input(shape=[224, 224, 3])) # input 바꾸지 않을 것임 # 1번째 conver 완료 model.add(tf.keras.layers.Conv2D(64, [3, 3], 1, 'same', activation='relu')) model.add(tf.keras.layers.Conv2D(64,..

인공지능/CNN 2020.12.04

LeNet5

# Day_22_01_LeNet5.py import tensorflow as tf import numpy as np # LeNet5 모델을 구현해서, 최초 만들었던 cnn 모델과 정확도를 비교하세요 # summary 함수에서 출력한 total params 항목이 61,706으로 되어있는데 왜 그렇게 되는지 직접 계산해보세요 def LeNet5(): (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() x_train = x_train / 255 x_test = x_test / 255 # 4차원으로 변환 x_train = x_train.reshape(-1, 28, 28, 1) x_test = x_test.reshape(-1, 2..

인공지능/CNN 2020.12.04

#2 (#1에서 했던) CNN 코드 Keras 사용해보기

각각의 주석이 #1에서 사용했던 것이고 그것을 keras를 이용해서 바꾼 코드입니다. import tensorflow as tf # compat 때문에 써줘야함 중간중간의 shape 추적하기 위해 # ph_x = tf.placeholder(tf.float32, shape=[None, 28, 28, 1]) # x_train 형식 # ph_y = tf.placeholder(tf.int32) # # c1 = tf.nn.conv2d(ph_x, # 행렬 곱셈이라고 생각하면 편함 # filter=w1, # strides=[1, 1, 1, 1], # 가온데 2개만 사용하고 앞(배치 size) 뒤(채널)는 사용 안함, 한번에 얼만큼 움직이는지 # padding='SAME') # 파라미터의 수를 줄여나가는 과정 = pa..

인공지능/CNN 2020.12.01

#1. CNN, Keras를 사용하지 않고 내부 살펴보기

주석에 부족한 내용이 있으면 물어보세요 CNN은 Convolution과 Pooling을 반복적으로 사용하면서 불변하는 특징을 찾고, 그 특징을 입력데이터로 신경망에 보내 Classification을 수행합니다. Convolution Layer : 필터를 통해 이미지의 특징을 추출. Pooling Layer : 특징을 강화시키고 이미지의 크기를 줄임 Padding은 Convolution을 수행하기 전, 입력 데이터 주변을 특정 픽셀 값으로 채워 늘리는 것입니다. # Day_21_01_CNNFirst.py import tensorflow.compat.v1 as tf tf.disable_eager_execution() # compat 때문에 써줘야함 이말은 3차원을 여러개 사용하는것 즉 4차원을 다루는 것이다..

인공지능/CNN 2020.12.01