ResNet으로 이미지 분류하기
사전 학습된 ResNet18로부터 모델을 만들었습니다. 이제 예시 이미지로 테스트해 볼 차례예요.
이미지에 전처리 변환을 적용하고 분류를 수행합니다. ResNet18은 다중 클래스 데이터셋으로 학습되었으므로, softmax() 층을 적용한 다음 argmax()를 사용해야 합니다.
다음 이미지를 예측 테스트에 사용합니다:

전처리 변환은 preprocess로 저장되어 있고, PIL 이미지는 img로 업로드되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch로 배우는 이미지 딥러닝
연습 안내
- 이미지에 전처리 변환을 적용하고
.unsqueeze(0)으로 배치 차원을 추가해 형태를 바꾸세요. - 이미지를 모델에 통과시키고
.squeeze(0)으로 배치 차원을 제거해 출력 형태를 바꾼 뒤,softmax()층을 적용하세요. argmax()를 적용해 가장 확률이 높은 클래스를 선택하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Apply preprocessing transforms
batch = ____.____
# Apply model with softmax layer
prediction = ____.____.____
# Apply argmax
class_id = prediction.____.item()
score = prediction[class_id].item()
category_name = weights.meta["categories"][class_id]
print(category_name)