이제 마지막으로 예측 결과를 시각적으로 표현하기 위한 함수를 정의합니다.
코드 6-20 테스트 데이터셋 이미지를 출력하기 위한 함수 정의
class_ = classes = {0:'cat', 1:'dog'} ------ 개와 고양이에 대한 클래스 정의
def display_image_grid(images_filepaths, predicted_labels=(), cols=5):
rows = len(images_filepaths) // cols
figure, ax = plt.subplots(nrows=rows, ncols=cols, figsize=(12, 6))
for i, image_filepath in enumerate(images_filepaths):
image = cv2.imread(image_filepath)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
a = random.choice(res['id'].values) ------ 데이터 프레임의 id라는 칼럼에서 임의로 데이터를 가져옵니다.
label = res.loc[res['id'] == a, 'label'].values[0]
if label > 0.5: ------ 레이블 값이 0.5보다 크다면 개
label = 1
else: ------ 레이블 값이 0.5보다 작다면 고양이
label = 0
ax.ravel()[i].imshow(image)
ax.ravel()[i].set_title(class_[label])
ax.ravel()[i].set_axis_off()
plt.tight_layout()
plt.show()