CNN 6

사진 분류 인공지능에 새로운 이미지를 업로드해서 활용하기

import numpy as np from google.colab import files from tensorflow.keras.preprocessing import image uploaded = files.upload() for fn in uploaded.keys() : path = '/content/' + fn img = image.load_img(path, target_size=(300,300)) x = image.img_to_array(img) / 255.0 print(x) print(x.shape) x = np.expand_dims(x, axis = 0) print(x.shape) images = np.vstack( [x] ) classes = model.predict( images, batch..

이미지 파일을 학습데이터로 바꿔주는 ImageDataGenerator

CNN모델링이 끝난후 사진을 머신러닝에 넣어 분류를 하려고 할때 사진파일은(PNG,JPG등) 넘파이 어레이가 아니기 때문에 그대로 사용이 불가능 하다. 이때 이미지파일을 학습데이터로 변환시켜 주는 작업이 필요하다. 이미지 파일을 넘파이 어레이로 바꿔주는 ImageDataGenerator 라이브러리를 사용 from keras.preprocessing.image import ImageDataGenerator train_datagen = ImageDataGenerator(rescale= 1/255.0 ) 트레인용 validation_datagen = ImageDataGenerator(rescale= 1/255.0) 밸리데이션 용

Tensorflow CNN 이미지분류 모델링하기:

트레이닝과 밸리데이션에 사용할 사진 자료 압축 풀기 https://seonggongstory.tistory.com/156 파이썬 압축파일 푸는 방법 import zipfile zipfile.ZipFile('/경로/'풀어줘야할파일이름') file.extractall('/압축풀경로/'압축풀고저장할폴더이름만들기') seonggongstory.tistory.com train_horse_dir = '/tmp/horse-or-human/horses' train_human_dir = '/tmp/horse-or-human/humans' validation_horse_dir = '/tmp/validation-horse-or-human/horses' validation_human_dir = '/tmp/validation-..

CNN(Convolutional Neural Network) Pooling

https://seonggongstory.tistory.com/151 CNN(Convolutional Neural Network) 컨볼루션 CNN이란 CNN은 이미지(영상)를 분석하기 위한 패턴을 찾아 이를 직접 학습하고, 학습한 패턴을 이용하여 이미지를 분류한다. CNN은 Convolution Layer, Pooling Layer(Sub Sampling), Fully Connected Layer 를 사용하여 seonggongstory.tistory.com pooling이란 컨볼루션을 통해 나온 피처맵의 크기를 다시 리사이징하여 새로운 레이어를 도출해내는것을 의미한다 pooling에는 최댓값을 뽑아내는 max pooling, 평균값을 뽑아내는 mean pooling등 다양한 종류가 있다. 위사진은 max..

CNN(Convolutional Neural Network) 컨볼루션

CNN이란 CNN은 이미지(영상)를 분석하기 위한 패턴을 찾아 이를 직접 학습하고, 학습한 패턴을 이용하여 이미지를 분류한다. CNN은 Convolution Layer, Pooling Layer(Sub Sampling), Fully Connected Layer 를 사용하여 사람의 시각처리방식을 모방한 딥러닝 학습 모델이며, 이미지(영상) 분류에 적합한 딥러닝 모델이다. 컨볼루션이란 이미지의 특징을 추출하고 추출한 특징을 피처맵으로 나타내주는 공식 인풋 이미지 커널,필터,피처디텍터 피처맵 (1*0)+(0*1)+(1*0)+(1*1)+(0*0)+(0*-1)+(0*0)+(1*1)+(1*0)=2 쉽게 인풋에서 피처맵까지의 과정이라고 생각하면된다

Tensorflow 이미지분류(ANN) 모델링 하기

mnist = tf.keras.datasets.fashion_mnist ( X_train,y_train ) , ( X_test , y_test ) = mnist.load_data() 기존 텐서플로우 안에 존재하는 이미지 딥러닝 세트 6만장 사진 28행 28열 (컬러 사진은 rgb값까지 포함해서 뒤에 3이 하나 더붙음) 이미지값은 숫자로 되어있다. 0부터 255까지의 숫자로 되어있다. 그림으로 보면 이런식 X_train = X_train /255.0 이미지란 어짜피 0~255 사이숫자이기때문에 최대값으로 나눠버리면 그게 노말라이징 그리고 255.0 으로 하는이유는 딥러닝엔 float으로 해야됨 int값은 잘 안됨 import tensorflow as tf from tensorflow.keras.models..