# 🖼️ Mô hình Phân loại Ảnh – ResNet‑18 (ImageNet-1K) ## 📝 Mô tả Mô hình ResNet‑18 là một kiến trúc CNN với 18 lớp, nổi bật với khả năng học sâu nhờ cơ chế residual connection. Đây là phiên bản được fine‑tuned trên bộ dữ liệu ImageNet-1K, từng giành chiến thắng cuộc thi ILSVRC và COCO 2015. ## 📌 Mục đích sử dụng Phân loại ảnh: dự đoán 1000 lớp ImageNet Transfer learning: làm backbone để fine-tune cho các bài toán cụ thể Nghiên cứu & sản phẩm: dễ triển khai với tài nguyên vừa phải (11.7 triệu tham số) ## 📥 Đầu vào Ảnh RGB. Được xử lý theo AutoImageProcessor: Resize và crop trung tâm về 224×224. Chuẩn hóa: sử dụng mean/std chuẩn ImageNet (trong feature_extractor) ## 📤 Đầu ra logits: Tensor có shape [batch_size, 1000] tương ứng xác suất phù hợp với 1000 lớp ImageNet Sử dụng .argmax(-1) để lấy nhãn duy nhất mỗi ảnh ## 🛠 Cài đặt ```bash pip install torch torchvision transformers ``` ## 🧪 Cách sử dụng Ví dụ phân loại ảnh đơn giản: ```python from transformers import AutoImageProcessor, AutoModelForImageClassification import torch from PIL import Image # 1. Tải processor và mô hình processor = AutoImageProcessor.from_pretrained("zhaospei/Model_12") model = AutoModelForImageClassification.from_pretrained("zhaospei/Model_12") # 2. Chuẩn bị ảnh img = Image.open("path/to/image.jpg").convert("RGB") # 3. Tiền xử lý inputs = processor(img, return_tensors="pt") # 4. Inference with torch.no_grad(): outputs = model(**inputs) logits = outputs.logits # 5. Kết quả idx = logits.argmax(-1).item() print("Predicted class:", model.config.id2label[idx]) ``` ## 📊 Thông số mô hình Params: ~11.7 triệu Kiến trúc: ResNet với 4 block residual Đầu vào default: [3, 224, 224] RGB Pretrained on: ImageNet‑1K