classification des types de nourritures africaines
# đœïž African Food Classifier â M2 IABD
Reconnaissance de plats africains par Transfer Learning (MobileNetV2 + TensorFlow).
## đ Structure du projet
```
african_food_classifier/
âââ train_model.ipynb â Notebook Google Colab (entraĂźnement)
âââ app.py â Application Streamlit
âââ african_food_model.h5 â ModĂšle entraĂźnĂ© (gĂ©nĂ©rĂ© par le notebook)
âââ class_names.json â Classes du modĂšle (gĂ©nĂ©rĂ© par le notebook)
âââ requirements.txt â DĂ©pendances Python
âââ Dockerfile â Pour dĂ©ploiement Docker / Render
âââ render_link.txt â Lien de l'app dĂ©ployĂ©e sur Render
âââ README.md
```
## đ Dataset
- **Source :** African Foods Datasets â Kaggle
- **Classes :** Ekwang, Eru, Ndole (Cameroun) + Jollof Rice, Palm-nut Soup, Waakye (Ghana)
- **Taille :** ~1 754 images totales
## đ Ătapes
### 1. EntraĂźnement (Google Colab)
1. Ouvre `train_model.ipynb` dans Google Colab
2. Active le GPU : `Exécution > Modifier le type d'exécution > GPU T4`
3. Exécute toutes les cellules
4. Télécharge `african_food_model.h5` et `class_names.json`
5. Place-les dans ce dossier
### 2. Test local
```bash
pip install -r requirements.txt
streamlit run app.py
```
### 3. Déploiement sur Render
1. Push le projet sur GitHub
2. Va sur render.com â New Web Service
3. Connecte ton repo GitHub
4. Configure :
- **Build Command :** `pip install -r requirements.txt`
- **Start Command :** `streamlit run app.py --server.port $PORT --server.address 0.0.0.0`
5. Copie le lien généré dans `render_link.txt`
## đ§ Architecture du modĂšle
- **Base :** MobileNetV2 pré-entraßné sur ImageNet
- **Phase 1 :** EntraĂźnement du classifier (base gelĂ©e) â 10 epochs
- **Phase 2 :** Fine-tuning des 30 derniĂšres couches â 15 epochs
- **Accuracy cible :** > 85%
## đŠ Technologies
| Outil | Usage |
|---|---|
| TensorFlow / Keras | ModĂšle deep learning |
| MobileNetV2 | Transfer learning |
| Streamlit | Interface web |
| Render | Déploiement cloud |
| Docker | Conteneurisation |
| G âŠ