---
title: Predict Fruit 360
emoji: 🍎
colorFrom: red
colorTo: yellow
sdk: streamlit
app_file: app.py
pinned: false
sdk_version: 1.43.2
---

# 🍎 Predict Fruit 360 🍌🍊

Ce projet est une application Streamlit déployée sur Hugging Face Spaces qui permet de prédire le type de fruit à partir d'une image, en utilisant le modèle **MobileNetV2** entraîné sur le dataset **Fruits-360**.

## 🚀 Démo
🔗 [Accéder à l'application sur Hugging Face Spaces](https://huggingface.co/spaces/votre_nom_dutilisateur/PredictFruit360)

## 📌 Fonctionnalités
- 📸 **Upload d'une image** : L'utilisateur peut importer une image de fruit.
- 🤖 **Prédiction en temps réel** : Le modèle MobileNetV2 identifie le fruit.
- 🎨 **Interface intuitive** : Basée sur Streamlit pour une utilisation simple et rapide.

## 🛠️ Installation locale
Si vous souhaitez exécuter le projet sur votre machine :

### 1️⃣ Cloner le dépôt
```bash
git clone https://huggingface.co/spaces/votre_nom_dutilisateur/PredictFruit360
cd PredictFruit360



## Structure du Projet
```
📂 fruits_classifier
│── 📂 templates
│   └── index.html
│── 📂 models
│   └── train.py   # Contient le code d'entraînement et de sauvegarde du modèle
│── 📂 app
│   └── deploy.py  # Contient l'API Flask pour le déploiement
│── 📂 static       # (Si besoin d'ajouter des fichiers CSS/JS)
│── requirements.txt
│── README.md
```

---

## Installation et Utilisation

### 1. Installation des dépendances
Avant de commencer, assurez-vous d'avoir **Python 3.8+** installé. Ensuite, installez les bibliothèques nécessaires :
```bash
pip install torch torchvision flask datasets pillow
```

### 2. Entraînement du Modèle
Le script `models/train.py` charge le dataset, applique des transformations et entraîne un modèle MobileNetV2.

Lancer l'entraînement :
```bash
cd models
python train.py
```
Une fois l'entraînement terminé, le modèle est sauvegardé dans `models/model_fruits360.pth`.

### 3. Déploiement de l'API Flask
Le script `app/deploy.py` charge le modèle et crée une API Flask permettant de faire des prédictions.

Lancer l'API :
```bash
cd app
python deploy.py
```
L'API sera accessible sur **http://127.0.0.1:5000/**.

### 4. Utilisation de l'Interface Web
Accéder à l'URL **http://127.0.0.1:5000/** et uploader une image pour obtenir la classe prédite.

---

## Fonctionnalités
- **Prétraitement des images** : Redimensionnement, normalisation.
- **Modèles utilisé** : ResNet50, MobileNetV2, VGG16.
- **Visualisation des performances** : Matrice de confusion et rapport de classification.
- **Déploiement facile** : API Flask simple et rapide.

## Auteur
Projet réalisé dans le cadre de la Licence 3 - Computer Vision au **Dakar Institut of Technology**.