분류 전체보기208 [AI] 딥러닝 ANN 텐서플로우 이미지 분류하기 이미지를 분류하는 인공지능을 만들어보자 데이터셋 : TensorFlow keras datasets API에 들어있는 Fashion MNIST데이터 import numpy as np import tensorflow as tf from tensorflow.keras.datasets import fashion_mnist mnist = tf.keras.datasets.fashion_mnist 텐서플로우에서 사진을 넘파이로 변환해 둔 데이터 트레이닝셋과 테스트셋 가져온다 (X_train, y_train), (X_test, y_test) = mnist.load_data() X_train.shape # (60000, 28, 28) X_test.shape # (10000, 28, 28) 데이터의 들어있는 사진 확인하는.. 2024. 4. 18. [AI] 딥러닝 compile, loss(손실함수) 값 설정 _ 분류문제, 수치문제 분류 문제 Loss 셋팅 분류의 Loss 함수는 2가지로 나뉜다 1. 2개로 분류하는 문제에서는 loss = ' binary_crossentropy ' 2. 3개 이상으로 분류하는 문제에서는 loss = ' sparse_categorical_crossentropy ' # 2개로 분류 model.compile( optimizer= 'adam', loss= 'binary_crossentropy', metrics= [ 'accuracy' ]) # 3개 이상으로 분류 model.compile( optimizer= 'adam', loss= 'sparse_categorical_crossentropy', metrics= [ 'accuracy' ]) 수치 예측 문제 Loss 셋팅 수치의 Loss 함수의 종류는 다양하지.. 2024. 4. 18. [AI] 딥러닝 이미지 인식 _ 프래튼 라이브러리(Flatten Library), 소프트맥스(activation= 'softmax') 함수 만드는 라이브러리 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten 프래튼 라이브러리 from types import MethodWrapperType 모델을 만드는 함수를 만들때, 이미지의 가로 세로를 전부 일렬로 만들어 인풋레이어에 지정 해준다 - Flatten() 사용 : 이미지 인풋레이어의 갯수는 행*열 이다 - 일렬로 만들다보면 위치에 문제가 생길 수도 있다 그래서 모양대로 아키텍처를 만들기 위해 CNN(특징값 보존)을 개발했다 def build_model(): model = Sequential() model.add(Flatten()) model.add(Dense(12.. 2024. 4. 18. [AI] 딥러닝 오버피팅 되는 것을 방지하기 위한 EarlyStopping, Callback 텐서플로우 EarlyStopping, Callback Callback : 내가 만든 함수를 프레임워크가 실행시켜주는 것이다 EarlyStopping : 지정된 에포크 횟수동안 성능 향상이 없으면 자동으로 훈련이 멈춘다 비어있는 인공지능을 만들고 코드를 작성해주면 된다 # 비어있는 인공지능 model = build_model() # patience를 10으로 설정하면, 10번의 에포크동안 성능향상이 없으면, 학습을 끝내는 것이다 early_stop = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10) # 학습할때 callbacks을 입력 epoch_history = model.fit(X_train, y_train, epochs=100000.. 2024. 4. 17. [AI] 딥러닝 인공지능 학습 중에 평가하기 validation validation 이란? : 에포크가 한번 끝날때 마다 학습에 사용하지 않은 데이터로 시험 보는 것을 말한다 ** 테스트 = 인공지능이 완전히 학습이 다 끝난 상태에서 평가 ** 벨리데이션 = 학습 중에 (에포크 하나가 끝날때마다) 평가 인공지능 학습(fit) 시킬때 파라미터로 넣어서 지정해준다 - validation_split= 사용 _ 학습할때 학습 데이터의 0.n 은 테스트 용으로 쓰겠다고 지정하는 것이다 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense def build_model() : model = Sequential() model.add(D.. 2024. 4. 17. [AI] 딥러닝 epochs history 모델의 훈련 과정 시각화 _차트 epoch_history : 객체에 저장된 통계치를 사용해 모델의 훈련 과정을 시각화할 수 있다 # 학습시킬때 변수에 저장하여 학습시킨다 epochs_history = model.fit(X_train, y_train, batch_size= 10, epochs= 100) # 저장된 변수의 히스토리는 딕트로 나온다 epochs_history.history import matplotlib.pyplot as plt # 차트로 나타내기 (위에서 확인한 history의 키값 입력) plt.plot(np.arange(1, 100+1), epochs_history.history['loss']) plt.xlabel('# epochs') plt.ylabel('Loss') plt.show() 2024. 4. 17. 이전 1 ··· 23 24 25 26 27 28 29 ··· 35 다음