YAML Metadata
Warning:
empty or missing yaml metadata in repo card
(https://huggingface.co/docs/hub/model-cards#model-card-metadata)
🧠 Food-Image-Classification-AI-Model
A Food image classification model fine-tuned on the Food-101 dataset using the powerful facebook/deit-base-patch16-224 architecture. This model classifies images into one of 101 popular food categories such as pizza, ramen, pad thai, sushi, and more.
✨ Model Highlights
- 📌 Base Model: facebook/deit-base-patch16-224
- 📚 Datasets: Food-101 Data
- 🌿 Classes: 101 food categories (e.g., pizza, ramen, steak, etc.)
- 🔧 Framework: Hugging Face Transformers + PyTorch
🧠 Intended Uses
- ✅ Food image classification in apps/web
- ✅ Educational visual datasets
- ✅ Food blog/media categorization
- ✅ Restaurant ordering support systems
🚫 Limitations
- ❌ May not perform well on poor-quality or mixed-food images
- ❌ Not optimized for detecting multiple food items per image
🏋️♂️ Training Details
| Attribute | Value |
|---|---|
| Base Model | facebook/deit-base-patch16-224 |
| Dataset | Food-101-Dataset |
| Task Type | Image Classification |
| Epochs | 3 |
| Batch Size | 16 |
| Optimizer | AdamW |
| Loss Function | CrossEntropyLoss |
| Framework | PyTorch + Transformers |
| Hardware | CUDA-enabled GPU |
📊 Evaluation Metrics
| Metric | Score |
|---|---|
| Accuracy | 0.97 |
| F1-Score | 0.98 |
| Precision | 0.99 |
| Recall | 0.97 |
🚀 Usage
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import torch
from torchvision.transforms import Compose, Resize, ToTensor, Normalize
# Load model and processor
model_name = "AventIQ-AI/Food-Classification-AI-Model"
model = AutoModelForImageClassification.from_pretrained("your-model-path")
processor = AutoImageProcessor.from_pretrained("your-model-path")
def predict(image_path):
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
image = Image.open(image_path).convert("RGB")
transform = Compose([
Resize((224, 224)),
ToTensor(),
Normalize(mean=processor.image_mean, std=processor.image_std)
])
pixel_values = transform(image).unsqueeze(0).to(device)
with torch.no_grad():
outputs = model(pixel_values=pixel_values)
logits = outputs.logits
predicted_idx = logits.argmax(-1).item()
predicted_label = model.config.id2label[predicted_idx]
return predicted_label
# Example usage:
print(predict("Foodexample.jpg"))
- 🧩 Quantization
- Post-training static quantization applied using PyTorch to reduce model size and accelerate inference on edge devices.
🗂 Repository Structure
.
beans-vit-finetuned/
├── config.json ✅ Model architecture & config
├── pytorch_model.bin ✅ Model weights
├── preprocessor_config.json ✅ Image processor config
├── training_args.bin ✅ Training metadata
├── README.md ✅ Model card
🤝 Contributing
Open to improvements and feedback! Feel free to submit a pull request or open an issue if you find any bugs or want to enhance the model.
- Downloads last month
- 144
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support