--- 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**.