학습된 모델을 업로드하여 이미지 예측해보기

khkwon_0712·2023년 2월 9일
0

이와 같이 3가지의 모델을 저장하였고, 이제 이 모델을 별도의 개발 환경에서 불러와 이미지를 올바르게 예측할 수 있는지 확인한다. 이번 포스팅에선 CNN 모델을 활용한다.

1. 저장한 모델 불러오기

from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.image import load_img , img_to_array

model = load_model('cnn_test.h5')

load_model이라는 모듈을 활용하면 저장한 모델을 불러올 수 있습니다.

2. 테스트용 이미지 불러오기

모델 적용에 앞서 numpy를 활용하여 배열로 변환해야 한다. 단 모델 학습 시 적용한 이미지의 크기와 동일하게 설정해야 오류가 발생하지 않는다.

import numpy as np

imag = load_img('finger_test.jpg',target_size = (128,128))
imag = img_to_array(imag)
img = imag.reshape(1,128,128,3)
img = img.astype('float32')
test_image = img/255.0

result = model.predict(test_image)

위의 이미지를 모델이 읽고, 이에 대한 예측 결과를 받아볼 예정이다.

3. 예측 결과 확인하기

categories=['one_finger','two_finger','three_finger','four_finger','five_finger']

print("Prediction: " + str(np.argmax(result)))
accuracy = str(int(np.max(result)*100))+"%"

pred = [np.argmax(value) for value in result]
print('New data category :',categories[pred[0]])
Prediction: 0
New data category : one_finger

이렇게 모델 학습부터 활용까지 포스팅을 모두 마쳤다. 아직 보완해야 할 부분이 많고, 모르는 부분도 많다. 지속적으로 AI 분야에 관심을 가지면서 이와 관련된 포스팅을 할 생각이다😂

github 주소 : https://github.com/Kihoon-Kwon/multiclass_ImageClassification.git

profile
꾸준하게 😊

0개의 댓글