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
20
Safetensors
Model size
85.9M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support