텐서플로우 16

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

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) 모델링 하기

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

텐서플로우 파라미터 : EarilyStopping 라이브러리 , callback

에포크 히스토리를 차트로 확인을 해보니 수백번정도 이후에는 거의 모델이 향상하지 않는 모습이 보인다. 이런경우 시간의 효율을 높이기 위해 call back을 활용해 지정된 에포크 횟수 동안 성능향상이 없으면 자동으로 훈련을 멈추고 결과를 내주는 함수를 만들어서 활용하면 된다. callback이란 보통 일반적으로 내가 쉬프트 엔터처서 함수를 실행시킴 이건 콜백이 아님, 내가 만든 함수를, 프레임워크가 실행시켜주는 것을 의미 tf.keras.callbacks.EarlyStopping( 조건) early_stop = tf.keras.callbacks.EarlyStopping(monitor = 'val_loss', patience= 10) val_loss를 모니터하면서 10번의 에포크동안 성능 향상이 없을 경우..

카테고리 없음 2022.12.28

딥러닝 파라미터 : validation_split

밸리데이션이란, 에포크가 한번 끝날때 마다, 학습에 사용하지 않은 데이터로 시험을 본다는 의미 테스트란, 인공지능이 완전히 학습이 다 끝난 상태에서 평가하는것을 테스트라고 하고, 밸리데이션은, 학습중에, 에포크 끝날때 마다 평가하는 것을 말한다. 즉 validation_split이란 원래 주어진 데이터셋을 특정 비율로 나워서 트레이닝셋,테스트셋 으로 활용하여 딥러닝의 효율을 극대화 시킬주 있는 파라미터 이다. 밸리데이션 스플릿 0.2란 의미는 내가 학습시킬 다음 X_train 데이터와 y_train데이터를 0.2계수 만큼의 데이터로 미리 테스트를 봐서 정확도를 높인다는것 validation_split 을 사용하면 val_loss항목이 새롭게 생긴다