파이썬/텐서플로우 15

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

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-..

Tensorflow : MNIST 손글씨 숫자예측 ANN으로 모델링 하기

import numpy as np import matplotlib.pyplot as plt import pandas as pd from PIL import Image %matplotlib inline import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, Activation from tensorflow.keras.optimizers import Adam from tensorflow.keras.utils import to_categorical (X_train, y_t..

완성한 인공지능 model , 네트워크 , weight 저장 하는 방법

1) 네트워크만 저장하고 불러오기 model.to_json() 2) 네트워크를 json 파일로 저장하는 코드 fashion_mnist_network = model.to_json() with open('fashion_mnist_network.json' , 'w') as file : file.write(fashion_mnist_network) 메모리에 있는 fashion_mnist_network 변수를 파일 fashion_mnist_network.json으로 저장하라 구글코랩 내부에 저장이 됨 다운로드도 가능 3)저장된 네트워크를 읽어오는 코드 with open('fashion_mnist_network.json' , 'r') as file : fashion_net = file.read() 저 네트워크를 모델..

Tensorflow 이미지분류(ANN) 모델링시 flatten 사용안하고 모델링하기

def build_model() : model = Sequential() model.add( Flatten() ) model.add(Dense(128 ,'relu' ) ) model.add(Dense(64,'relu') ) model.add( Dense(10, 'softmax') ) model.compile('adam','sparse_categorical_crossentropy',['accuracy']) return model 기존 flatten을 활용한 식 def build_model() : model = Sequential() model.add(Dense(128 ,'relu', input_shape=(784,) ) ) model.add( Dropout(0.2) ) model.add(Dense(64,'..

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..

Tensorflow 이미지분류(ANN) 과 Flatten

Artificial Neural Network 알고리즘으로 이미지셋 데이터를 표 형태의 데이터로 변형해서 원하는 아웃풋을 얻어내는 알고리즘을 CNN이라고 한다. flatten을 사용하는 이유? cnn에서 이미지를 행렬로 나타낼때 이 데이터는 2차원 데이터로 이루어저 있어서 이걸 다시 1차원으로 바꿔주는 작업을 Flatten 라이브러리라고 한다 이미지 모델링 중에 flatten이 없다면 .당연히 오류