본문 바로가기

IT 프로그래밍 관련/딥러닝12

tensorflow 모델 및 가중치(weight) 저장하고 불러오기 여러번의 시도를 통하여 좋은 정확도를 가진 머신을 개발하였다면 그 모델을 저장하여, 같은 성능으로 다른곳에서도 사용할 수 있다. 모델의 저장법과 그 모델을 다시 불러오는 방법이다. 1. 전체 모델과 weight를 통으로 h5파일로 저장 하고 불러오는 방법. 1 2 3 4 5 6 7 8 9 #pip install h5py import h5py model.save('파일명.h5') ## 저장방법 new_model = tensorflow.keras.models.load_model('파일명.h5') Colored by Color Scripter cs 2. 전체 모델과 웨이트를 폴더구조로 통째로 편하게 처리(따로 컴파일 필요없다.) 1 2 3 4 5 6 7 8 9 #폴더로 생성된다. 원하는 폴더명 입력, 폴더안에.. 2021. 3. 10.
learning_curve 함수 설정 def learning_curve(history, epoch): # 정확도 차트 epoch_range = np.arange(1, epoch+1 ) plt.plot(epoch_range, history.history['accuracy']) plt.plot(epoch_range, history.history['val_accuracy']) plt.title('Model Accuracy') plt.xlabel('Epoch') plt.ylabel('Accuracy') plt.legend( ['Train', 'Val']) plt.show() # loss 차트 epoch_range = np.arange(1, epoch+1 ) plt.plot(epoch_range, history.history['loss']) plt... 2021. 3. 4.
epoch마다 기록을 남기는 CSVLogger epoch마다 가장 좋은 모델을 찾아 저장하는 ModelCheckpoint도 있지만, epoch마다 그 훈련 기록을 저장하는 CSVLogger도 있다. 사용을 하기 위해 먼저 라이브러리 적용 후 from tensorflow.keras.callbacks import CSVLogger csv_logger = CSVLogger(filename=LOGFILE_PATH, append = True) CSVLogger를 설정하고 변수에 저장한다. filename= : 저장할 파일명. csv append = : True로 설정시 기록을 덮어쓰지않고 차례로 계속 저장한다. 이외 separator도 자주 쓴다. csv파일에서 요소를 구분하는데 뭘로 구분할것인지..(ex)separator=',' 후에 모델 훈련시 사용한다... 2021. 3. 4.
epoch마다 가장 좋은 모델을 저장하는 ModelCheckpoint 딥러닝을 할때 성능을 위해서 epoch를 설정한다. ( 너무 많은 epoch는 오버핏이 될 수 있다.) 일일이 직접 모니터 하지 않아도, epoch마다 성능이 올라가면 자동으로 저장해주는 ModelCheckpoint가 있다. from tensorflow.keras.callbacks import ModelCheckpoint cp = ModelCheckpoint(filepath=CHECKPOINT_PATH, monitor='val_accuracy', save_best_only = True, verbose = 1) 라이브러리 적용 후 ModelCheckpoint를 설정한다. filepath : 저장할 경로, 위에서는 경로가 변수로 저장되어 있어 변수로 쓰였다. monitor : 어떤걸 보고 저장할 것인가. 난.. 2021. 3. 4.
728x90