① glob은 현재 디렉터리에서 원하는 파일들만 추출하여 가져올 때 사용합니다. 즉, ‘../chap05/data/catanddog/’ 경로에서 pth 확장자를 갖는 파일을 가져오라는 의미입니다. pth라는 확장자를 갖는 파일은 훈련 데이터로 모델을 훈련시킬 때 생성된 파일입니다.
② torch.max는 주어진 텐서 배열의 최댓값이 들어 있는 index를 반환하는 함수입니다. 예를 들어 y_pred = [[0.2,0.7,0.8,0.4]]라는 배열에 torch.max(y_pred.data, 1)을 적용한다고 가정해 봅시다. [0.2,0.7,0.8,0.4]의 최댓값은 0.8이 되며 그 인덱스는 2이므로 최종적으로 반환되는 값은 2가 됩니다.
③ preds.eq(labels)는 preds 배열과 labels가 일치하는지 검사하는 용도로 사용합니다. 또한, 뒤에 사용된 .sum()은 모델의 예측 결과와 정답(레이블)이 일치하는 것들의 개수 합을 숫자로 출력합니다.
이제 모델 평가 함수에 테스트 데이터를 적용해서 실제로 성능(정확도)을 측정합니다.
코드 5-25 테스트 데이터를 평가 함수에 적용
val_acc_hist = eval_model(resnet18, test_loader, device)