728x90
728x170
■ 다층 퍼셉트론 신경망을 만드는 방법을 보여준다.
▶ 예제 코드 (PY)
import keras.datasets.mnist as mnist
import keras.layers as layers
import keras.models as models
import keras.utils.np_utils as np_utils
import matplotlib.pyplot as pp
import numpy as np
print("데이터 로드를 시작합니다.")
(trainInputNDArray, trainCottectOutputNDArray), (testInputNDArray, testCorrectOutputNDArray) = mnist.load_data()
trainInputNDArray = trainInputNDArray.reshape(60000, 784).astype("float32") / 255.0
testInputNDArray = testInputNDArray.reshape(10000, 784).astype("float32") / 255.0
trainCottectOutputNDArray = np_utils.to_categorical(trainCottectOutputNDArray)
testCorrectOutputNDArray = np_utils.to_categorical(testCorrectOutputNDArray)
print("데이터 로드를 종료합니다.")
print("모델 정의를 시작합니다.")
model = models.Sequential()
model.add(layers.Dense(units = 64, input_dim = 28 * 28, activation = "relu"))
model.add(layers.Dense(units = 10, activation = "softmax"))
model.compile(loss = "categorical_crossentropy", optimizer = "sgd", metrics = ["accuracy"])
print("모델 정의를 종료합니다.")
print("모델 학습을 시작합니다.")
history = model.fit(trainInputNDArray, trainCottectOutputNDArray, epochs = 5, batch_size = 32)
print("모델 학습을 종료합니다.")
print("훈련 손실 : ", history.history["loss"])
print("훈련 정확도 : ", history.history["acc" ])
print("모델 평가를 시작합니다.")
evaluationList = model.evaluate(testInputNDArray, testCorrectOutputNDArray, batch_size = 32)
print("[평가 손실, 평가 정확도] = ", evaluationList)
print("모델 평가를 종료합니다.")
print("모델 데이터 저장을 시작합니다.")
model.save("model.data")
print("모델 데이터 저장을 종료합니다.")
print("모델 사용을 시작합니다.")
inputNDArray = testInputNDArray[0:1]
correctOutputNDArray = testCorrectOutputNDArray[0:1]
outputNDArray = model.predict(inputNDArray)
print("정답 : ", np.argmax(correctOutputNDArray))
print("평가 : ", np.argmax(outputNDArray))
print("모델 사용을 종료합니다.")
728x90
그리드형(광고전용)
'Python > keras' 카테고리의 다른 글
[PYTHON/KERAS] Sequential 클래스 : model_from_json 메소드를 사용해 모델 구하기 (0) | 2018.08.20 |
---|---|
[PYTHON/KERAS] Sequential 클래스 : to_json 메소드를 사용해 JSON 문자열 구하기 (0) | 2018.08.20 |
[PYTHON/KERAS] 학습 모델 아키텍처 이미지 저장하기 (0) | 2018.08.19 |
[PYTHON/KERAS] 학습 모델 로드하기 (0) | 2018.08.19 |
[PYTHON/KERAS] 학습 모델 저장하기 (0) | 2018.08.19 |
[PYTHON/KERAS] 학습 조기 종료시키기 (0) | 2018.08.19 |
[PYTHON/KERAS] 커스텀 히스토리 콜백 함수 사용하기 (0) | 2018.08.19 |
[PYTHON/KERAS] 히스토리를 텐서보드와 연동하기 (0) | 2018.08.19 |
[PYTHON/KERAS] 히스토리 기능 사용하기 (0) | 2018.08.15 |
[PYTHON/KERAS] 모델 데이터 로드하기 (0) | 2018.08.15 |