인공지능 22

이미지 사이즈 조절 및 이미지 분석 (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

자연어 처리 - 영화 리뷰 분석해서 그래프로 그려보기

주석이 부족한 부분이 있으면 말해주세요. import csv import re import nltk import collections import matplotlib.pyplot as plt # https://github.com/e9t/nsmc # x, y 데이터를 반환하는 함수를 만드세요 # 김윤 박사 cnn sentence 검색하면 깃헙 나옴 # 해당 사이트에서 clean_str 함수를 찾아서 우리 코드에 적용하세요 # 모든 문서의 토큰 갯수를 그래프로 그려보세요 def clean_str(string, TREC=False): """ Tokenization/string cleaning for all datasets except for SST. Every dataset is lower cased exce..

인공지능/RNN 2020.11.25

자연어 처리 ( text에 있는 word에 대한 빈도수 도출하기 )

import nltk import collections import matplotlib.pyplot as plt # 세익스피어의 헴릿에 등장하는 주인공들의 출현 빈도로 막대 그래프를 그려보세요 # gutemberg # 햄릿, 거트루드, 오필리어, 클로디어스, 레어티스, 호레이쇼 # print(nltk.corpus.gutenberg.fileids()) # 1. 햄릿 읽기 txt = nltk.corpus.gutenberg.raw('shakespeare-hamlet.txt') # text 전체 # 2. actors 찾기 names = ['hamlet', 'gertrude', 'claudius', 'laertes', 'ophelia', 'polonius', 'horatio'] txt = txt.lower() d..

인공지능/RNN 2020.11.24

자연어 처리 (Gensim)

# Day_06_01_gensim.py import gensim import nltk import collections import pprint # 건강한 사람과 암에 걸렸을 확률을 계산 # 암에 걸릴 비율 (0.1%), 건강할 확률 (99.9%) # 암 판정을 받았을 때의 정확도: 95% # 암이 아니라고 판정했을 때의 오진율 : 2% # 암 판정 # 실제 암에 걸렸을 확률: (암에 걸릴 확률 * 정확도)(암에 걸리지 않았을 확률 * 오진률) # 0.001 * 0.95 = 0.00095 -> 0.04538939321548 판정 시 / 전체 확률 # 0.999 * 0.02 = 0.01998 -> 0.954610610678452 아닐 시 / 전체 확률 # -------------------------- #..

인공지능/RNN 2020.11.24

자연어처리( doc2vec )

import nltk import random import collections import time # word to vector -> 단어를 숫자로 바꾸겠다. document to vector 다큐먼트를 벡터로 바꿈 # ex 영화 리뷰를 그 안의 단어를 가지고 충분히 학습 후 -> 긍정, 부정을 나눔 => doc to vec # doc 분석해서 어떤 분류인지 알아내겠다. def make_vocab(vocab_size=2000): # 사실 2천개는 너무 적음 만개는 해야함 # nltk.download('movie_reviews') words = nltk.corpus.movie_reviews.words() # print(len(words)) # print(nltk.corpus.movie_reviews.c..

인공지능/RNN 2020.11.22