시작하기무료로 시작하기

ResNet으로 이미지 분류하기

사전 학습된 ResNet18로부터 모델을 만들었습니다. 이제 예시 이미지로 테스트해 볼 차례예요.

이미지에 전처리 변환을 적용하고 분류를 수행합니다. ResNet18은 다중 클래스 데이터셋으로 학습되었으므로, softmax() 층을 적용한 다음 argmax()를 사용해야 합니다.

다음 이미지를 예측 테스트에 사용합니다: A cup of espresso

전처리 변환은 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)
코드 편집 및 실행