Clemylia commited on
Commit
56c90d6
·
verified ·
1 Parent(s): 281f47a

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +89 -0
README.md ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ pipeline_tag: graph-ml
4
+ tags:
5
+ - Abeilles
6
+ - Butinage
7
+ - Abeille IA
8
+ ---
9
+ # 🐝 BeeAI (Bena) : Modèle de Classification des Rapports de Danse
10
+
11
+ ![Bena](http://www.image-heberg.fr/files/17591565032629325800.jpg)
12
+
13
+ ## 🌟 Présentation de la Ruche (Introduction)
14
+
15
+ Salut \! Bienvenue dans la ruche de **Bena**, notre **Bee AI** \!
16
+
17
+ Inspirée par la rigueur des abeilles butineuses et la précision de leurs célèbres danses, **Bena** est un modèle PyTorch développé **de zéro (from scratch)** par Clemylia. Son but est de simuler le processus de prise de décision d'une butineuse qui évalue une source de nourriture (une fleur) en fonction de sa nature et de sa position par rapport à la ruche.
18
+
19
+ Ce modèle est idéal pour l'apprentissage du développement de réseaux de neurones simples en PyTorch et des tâches de classification multi-classes.
20
+
21
+ ## ⚙️ Architecture du Modèle (La Structure Alvéolaire)
22
+
23
+ | Caractéristique | Détail |
24
+ | :--- | :--- |
25
+ | **Type de Modèle** | Réseau de Neurones à Propagation Avant (Feedforward Neural Network) |
26
+ | **Framework** | PyTorch |
27
+ | **Développé par** | Clemylia (via `from scratch`) |
28
+ | **Tâche** | Classification (multi-classes : 10 classes de 0 à 9) |
29
+ | **Taille d'Entrée** | 22 (20 pour l'encodage One-Hot des fleurs + 2 pour la position X/Y) |
30
+ | **Couches Cachées** | 2 Couches Linéaires (128 neurones, puis 64 neurones) avec activation ReLU |
31
+
32
+ ## 🧭 L'Art de la Danse : Les Rapports de Bena
33
+
34
+ Le modèle `BeeAI` génère un unique chiffre de 0 à 9, représentant le **Code de Danse** le plus probable. Ce code est la "conclusion" de Bena sur la qualité et la sécurité de la fleur butinée.
35
+
36
+ | Code | Signification du Rapport de Danse |
37
+ | :--- | :--- |
38
+ | **0** | La fleur n'est pas butinable, c'est **hautement probable qu'elle soit vide** de nectar. |
39
+ | **1** | La fleur n'est pas butinable, **très probable qu'elle soit vide** ou avec des ressources insuffisantes. |
40
+ | **2** | La fleur n'est pas trop butinable, **emplacement peu favorable** (risque de toiles d'araignée). |
41
+ | **3** | La fleur est butinable, mais dans la **moindre mesure** (pour une petite ruche). |
42
+ | **4** | La fleur est butinable, mais ses **ressources sont limitées**. |
43
+ | **5** | La fleur est **trop loin** de la ruche. |
44
+ | **6** | La fleur est située dans un endroit **susceptible d'attirer des frelons** (trop dangereux). |
45
+ | **7** | La fleur est butinable et possède **beaucoup de nectar**, mais pas assez pour toute la ruche et les larves. |
46
+ | **8** | La fleur est butinable, mais il y a un **danger (grenouilles)** dans les environs. |
47
+ | **9** | La fleur est **parfaitement butinable** \! Un miel de qualité en perspective \! 🍯 |
48
+
49
+ ## 📥 Comment Butiner (Utilisation et Chargement)
50
+
51
+ ### Dépendances
52
+
53
+ ```bash
54
+ !pip install torch numpy huggingface-hub
55
+ ```
56
+
57
+ ### Chargement du Modèle (L'utilisateur doit redéfinir la classe `BeeAI`)
58
+
59
+ Étant donné que le modèle a été développé de zéro en PyTorch standard, un utilisateur doit **recréer la classe `BeeAI`** avec la bonne architecture (22-\>128-\>64-\>10) pour charger le `state_dict` correctement.
60
+
61
+ ```python
62
+ from huggingface_hub import hf_hub_download
63
+ import torch
64
+ # ... (Redéfinition de la classe BeeAI et des constantes FLOWER_NAMES/INPUT_SIZE) ...
65
+
66
+ REPO_ID = "Clemylia/BeeAI-Bena"
67
+ FILENAME = "pytorch_model.bin"
68
+
69
+ # Téléchargement et chargement des poids
70
+ weights_path = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
71
+ model = BeeAI(INPUT_SIZE, NUM_DANCE_REPORTS)
72
+ model.load_state_dict(torch.load(weights_path))
73
+ model.eval()
74
+
75
+ # Le modèle est prêt à être utilisé avec la fonction generate_dance_report !
76
+ ```
77
+
78
+ ## 📊 Jeu de Données et Limitations (Le Nectar Synthétique)
79
+
80
+ Le modèle a été entraîné sur un jeu de données **synthétique** créé manuellement pour établir une relation logique entre les fleurs connues, leur position (X, Y) et un risque/rendement associé.
81
+
82
+ **⚠️ Limitations et Précautions (Le Miel)** :
83
+
84
+ * **Jeu de Données Synthétique :** Les résultats sont basés sur des motifs *inventés* pour la démonstration. Ne pas utiliser ce modèle pour guider de vraies abeilles \! 😉
85
+ * **Vocabulaire Fixe :** Le modèle utilise un encodage One-Hot de 20 fleurs spécifiques (`FLOWER_NAMES`). Les fleurs inconnues seront encodées avec des zéros, et la prédiction se basera uniquement sur la position (X, Y).
86
+
87
+ -----
88
+
89
+ *Ce projet a été développé avec passion par Clemylia pour l'apprentissage du Machine Learning **from scratch** en PyTorch. Contribuez à la ruche \! 💛*