# 🌈 Mô hình phân loại hình ảnh ## 📝 Mô tả Mô hình này là phiên bản fine-tuned của google/vit-base-patch16-224-in21k trên bộ dữ liệu CIFAR-10 (60.000 ảnh màu 32×32, 10 lớp). Trên tập đánh giá, mô hình đạt: Loss: 0.2564 Accuracy: 97.88 ## 📌 Ứng dụng Phân loại ảnh CIFAR-10 (10 lớp như: airplane, automobile, bird, cat, …) Dùng để transfer learning cho các tập dữ liệu nhỏ hơn Làm nền tảng cho các thử nghiệm về fine-tuning ViT trên dữ liệu màu sắc nhỏ ## 📥 Chuẩn bị đầu vào Ảnh màu RGB Thư viện sẽ xử lý bằng ViTImageProcessor: Resize hình về 224×224 Chuẩn hóa theo mean/std của ImageNet ## 📤 Đầu ra Logits tensor kích thước [batch_size, 10] Dùng argmax(-1) để nhận nhãn dự đoán ## 🛠 Cài đặt ```bash pip install torch torchvision transformers ``` ## 🧪 Ví dụ sử dụng ```python import torch from transformers import ViTForImageClassification, ViTImageProcessor from PIL import Image model_name = "zhaospei/Model_16" processor = ViTImageProcessor.from_pretrained(model_name) model = ViTForImageClassification.from_pretrained(model_name) img = Image.open("path/to/cifar10_image.png").convert("RGB") inputs = processor(img, return_tensors="pt") with torch.no_grad(): logits = model(**inputs).logits pred = logits.argmax(-1).item() label = model.config.id2label[pred] print(f"Predicted label: {label} (Index: {pred})") ``` ## ⚙️ Thông số huấn luyện Thiết lập Giá trị Learning rate 5e-5 Batch size (train/eval) 32 / 32 Gradient accumulation 4 Total batch size 128 Optimizer Adam (β=(0.9,0.999), ε=1e-8) Scheduler Learning rate linearly giảm (warmup 0.1) Epochs 1 Seed 42 Framework Transformers 4.17.0, PyTorch 1.10.0+cu111 ## 📊 Hiệu quả Báo cáo accuracy đạt 97.88 % trên tập đánh giá CIFAR-10 Thích hợp để đánh giá khả năng áp dụng ViT ở dữ liệu nhỏ và cải tiến nhanh timemodels ## ✅ Lưu ý & Mở rộng Đây là mô hình để demo hoặc baseline, không phù hợp cho trường hợp cần độ chính xác cao hơn (có thể fine-tune thêm) Dễ dàng kết hợp với các kỹ thuật augment, thêm epochs, hoặc sử dụng data robustness khi cần Có thể dùng làm backbone để ép nhỏ, kiểm thử OOD, adversarial training, v.v.