함수 만드는 라이브러리
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(128, 'relu'))
model.add(Dense(10, 'softmax'))
model.compile('adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
return model
# loss='sparse_categorical_crossentropy' 여러개로 분류해야 할 경우 사용한다
model = build_model()
Flatten 라이브러리 없이 평탄화 하는 방법
X_train.shape
# (60000, 28, 28)
# 28 * 28 = 784이므로 열을 reshape()을 사용해 784로 변환해준다
X_train = X_train.reshape(60000, 784)
# X_test의 값도 변환해준다
X_test = X_test.reshape(10000, 784)
# 데이터 타입을 변경한 후 모델링할때 입력 input_shape=(784, )
def build_model() :
model = Sequential()
model.add( Dense( units= 128, activation= 'relu', input_shape=(784, ) ) )
model.add( Dense( 10, 'softmax' ) )
model.compile( 'adam', loss= 'sparse_categorical_crossentropy', metrics= [ 'accuracy' ])
return model
소프트맥스 softmax
: 여러개의 값 중에서 가장 큰 값을 선택하는 엑티베이션 소프트맥스
- 아웃풋 레이어에 activation= 'softmax'를 쓴다
def build_model() :
model = Sequential()
model.add( Dense( units= 128, activation= 'relu', input_shape=(784, ) ) )
model.add( Dense( 10, 'softmax' ) )
model.compile( 'adam', loss= 'sparse_categorical_crossentropy', metrics= [ 'accuracy' ])
return model
- 아웃풋 노드를 10개로 설정했기 때문에 y_pred 의 값이 10개가 나온다
1개의 값만 출력될 수 있게 만드려면 결과값을 넘파이 함수 argmax()를 사용해서 원하는 곳의 인덱스나, 전체 인덱스를 얻을 수 있다
# 예측한 값을 y_pred 변수에 저장
y_pred = model.predict(X_test)
# 원하는 인덱스만 골라서 바꾸는 방법
y_pred[1].argmax()
# 전체 데이터 바꾸는 방법 |||| 일자로 읽으면서 최대값을 구하는 것이기때문에 axis=1로 설정한다
y_pred = y_pred.argmax(axis=1)
'MACHINE | DEEP LEARNING > Deep Learning Project' 카테고리의 다른 글
[AI] 딥러닝 ANN 텐서플로우 이미지 분류하기 (0) | 2024.04.18 |
---|---|
[AI] 딥러닝 compile, loss(손실함수) 값 설정 _ 분류문제, 수치문제 (0) | 2024.04.18 |
[AI] 딥러닝 오버피팅 되는 것을 방지하기 위한 EarlyStopping, Callback (0) | 2024.04.17 |
[AI] 딥러닝 인공지능 학습 중에 평가하기 validation (0) | 2024.04.17 |
[AI] 딥러닝 epochs history 모델의 훈련 과정 시각화 _차트 (0) | 2024.04.17 |