반응형
학습이 완료된 딥러닝 모델을 저장하려면 `model.save()`함수를 사용하면 된다. `model.save()`는 keras.models.load_model에 있다.
del 키워드는 파이썬 내장 함수로 대상 객체의 데이터를 삭제한다. 예를 들면
a = [1,2,3]
del a[1]
print(a)
output은 [1, 3]이다.
조금 더 자세한 설명은 이곳을 참고하자.
https://hashcode.co.kr/questions/7566/%ED%8C%8C%EC%9D%B4%EC%8D%AC-del-%EC%9D%B4-%ED%95%A8%EC%88%98%EC%9D%B8%EA%B0%80%EC%9A%94
예시 코드는 저번 예제에서 사용한 코드에서 보도록 하겠다.
# 데이터 입력
from google.colab import files
uploaded = files.upload()
my_data = 'sonar.csv'
!pip install -q tensorflow-gpu==1.15.0
%tensorflow_version 1.x
import tensorflow as tf
import pandas as pd
import numpy
from keras.models import Sequential, load_model
from keras.layers.core import Dense
from sklearn.preprocessing import LabelEncoder
# seed 값 설정
seed = 0
numpy.random.seed(seed)
tf.compat.v1.set_random_seed(3)
#데이터 적용
df = pd.read_csv(my_data, header=None)
'''
print(df.info())
print(df.head())
'''
dataset = df.values
X = dataset[:,0:60]
Y_obj = dataset[:,60]
e = LabelEncoder()
e.fit(Y_obj)
Y = e.transform(Y_obj)
# 학습셋과 테스트셋을 나눔
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=seed)
model = Sequential()
model.add(Dense(24, input_dim=60, activation='relu'))
model.add(Dense(10, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
여기까지는 지금까지와 똑같은 모델 설정 및 컴파일 과정이다.
아래부터가 모델 러닝 수행 후 그 결과를 저장하고, 기존 모델을 지운 후, 다시 모델을 가져와서 테스트를 수행하는 과정이다.
model.compile(loss='mean_squared_error',
optimizer='adam',
metrics=['accuracy'])
model.fit(X_train, Y_train, epochs=130, batch_size=5)
model.save('my_model.h5') # 모델을 컴퓨터에 저장
del model # 테스트를 위해 메모리 내의 모델을 삭제
model = load_model('my_model.h5') # 모델을 새로 불러옴
print("\n Test Accuracy: %.4f" % (model.evaluate(X_test, Y_test)[1])) # 불러온 모델로 테스트 실행
반응형
'AI > 모두의 딥러닝' 카테고리의 다른 글
[Deep Learning] Wine Classification Problem (0) | 2021.11.02 |
---|---|
[딥러닝 : Deep Learning] 과적합 해결하기 Solutions for Overfitting (0) | 2021.10.05 |
[Deep Learning : 딥러닝] 과적합 Overfitting (0) | 2021.06.25 |
[Deep Learning : 딥러닝] 다중 분류 문제 (0) | 2021.06.23 |
[Deep Learning : 딥러닝] 딥러닝과 데이터 전처리 (0) | 2021.06.19 |