인공지능 응용 공학
No validation prediction of unseen image using callback weights
coding art
2023. 6. 14. 15:47
728x90
tf.keras.utils.image _dataset_from_directory 명령의 파라메터 validation_split=0.0 인 경우에는 데이터 전체를 학습에만 사용할 수 있도록 코드를 수정해 보자.
train_ds 에서 파라메터인 subset=“training”을 지우도록 한다. training 파트가 더 이상 부분집합(subset) 이 아닌 집합(set) 자체로 바뀌기 때문이다. val_ds 와 관련된 코드도 전부 삭제한다.
1 | train_ds = tf.keras.utils.image_dataset_from_directory( data_dir, validation_split=0.0, #subset="training", shuffle=True, seed=1234, image_size=(img_height, img_width), batch_size=batch_size) |
callback 데이터 저장을 위한 경로를 training_only 로 바꾸어 설정한다.
2 | checkpoint_path = "training_only/cp.ckpt" |
아울러 model.fit 에서 사용되는 validation_data=val_ds 항도 삭제하자.
3 | history = model.fit( train_ds, epochs=20, callbacks=[cp_callback] ) |
validation 과정이 모조리 삭제되었으므로 마지막 evaluate 과정도 삭제하자.
4 | loss, acc = model.evaluate(valid_image_batch, valid_label_batch, verbose=2) |
epoch=20 으로 학습이 진행됨에 따라 Accuracy 가 1.0 에 접근한다.

첨부된 utilscallbacktrainonly.py를 다운받아 실행해 보자.
utilscallbacktrainonly.py
0.00MB
callback 에 의해 학습 가중치를 저장했으면 임의의 이미지에 대한 에측 작업을 시행해 보자.
첨부된 callback_single_only_image.py 를 다운받아 실행해 보자.