Bắt đầu ngayBắt đầu miễn phí

Phân loại ảnh với ResNet

Bạn đã tạo mô hình từ ResNet18 được huấn luyện sẵn. Giờ là lúc kiểm thử nó trên một ảnh mẫu.

Bạn sẽ áp dụng các bước tiền xử lý (preprocessing transforms) cho một ảnh và phân loại ảnh đó. Bạn cần dùng lớp softmax() sau đó là argmax(), vì ResNet18 được huấn luyện trên một bộ dữ liệu đa lớp (multi-class).

Bạn đã chọn ảnh sau để dùng cho việc thử dự đoán: A cup of espresso

Phép biến đổi tiền xử lý được lưu trong preprocess. Ảnh PIL đã được tải lên với tên img.

Bài tập này là một phần của khóa học

Deep Learning cho Ảnh với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Áp dụng các phép biến đổi tiền xử lý cho ảnh và đổi hình dạng bằng .unsqueeze(0) để thêm chiều batch.
  • Truyền ảnh qua mô hình, đổi hình dạng đầu ra bằng .squeeze(0) để bỏ chiều batch, rồi thêm lớp softmax().
  • Dùng argmax() để chọn lớp có xác suất cao nhất.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã