Outils pour utilisateurs

Outils du site


l_intelligence_du_semaphore

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
l_intelligence_du_semaphore [2019/10/10 13:27] – Tag0 Added: python sergel_intelligence_du_semaphore [2020/12/27 15:07] (Version actuelle) serge
Ligne 1: Ligne 1:
 ====== L'intelligence du sémaphore ====== ====== L'intelligence du sémaphore ======
-<WRAP center round box 80% centeralign> +<WRAP center round box 60% centeralign> 
-**{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}** ....  **{{tagpage>ia|Intelligence Artificielle}}**+**{{tagpage>ia|Intelligence Artificielle}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fl_intelligence_du_semaphore|English Version]]** 
 +</WRAP> 
 +<WRAP center round box 60% centeralign> 
 +**[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]** 
 +</WRAP> 
 + 
 +<WRAP center round box 60% centeralign> 
 +**{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}**
 </WRAP> </WRAP>
 <WRAP center round box 60% centeralign> <WRAP center round box 60% centeralign>
 C'est quoi un sémaphore ? C'est quoi un sémaphore ?
 {{ youtube>F3sY6_fOx2I?medium }} {{ youtube>F3sY6_fOx2I?medium }}
-{{ chappe.jpeg?400 }}+{{ media_05:chappe.jpeg?400 }}
 </WRAP> </WRAP>
  
Ligne 18: Ligne 25:
 <WRAP group> <WRAP group>
 <WRAP third column> <WRAP third column>
-{{:shot_0_a.png?200|}}+{{media_03:shot_0_a.png?200|}}
 </WRAP> </WRAP>
 <WRAP third column> <WRAP third column>
-{{:shot_1_b.png?200|}}+{{media_03:shot_1_b.png?200|}}
 </WRAP> </WRAP>
 <WRAP third column> <WRAP third column>
-{{:shot_2_c.png?200|}}+{{media_03:shot_2_c.png?200|}}
 </WRAP> </WRAP>
 </WRAP> </WRAP>
Ligne 31: Ligne 38:
 <WRAP group> <WRAP group>
 <WRAP third column> <WRAP third column>
-{{:2019_03:shot_0_a.png?200|}}+{{media_01:shot_0_a.png?200|}}
 </WRAP> </WRAP>
 <WRAP third column> <WRAP third column>
-{{:2019_03:shot_1_.png?200|}}+{{media_01:shot_1_.png?200|}}
 </WRAP> </WRAP>
 <WRAP third column> <WRAP third column>
-{{:2019_03:shot_2_b.png?200|}}+{{media_01:shot_2_b.png?200|}}
 </WRAP> </WRAP>
 </WRAP> </WRAP>
Ligne 44: Ligne 51:
 ===== Des maths ! ==== ===== Des maths ! ====
 ====Relu Rectifier neural networks==== ====Relu Rectifier neural networks====
-{{ :2019_05:relu.jpg?400 |}}+{{ media_12:relu.jpg?400 |}}
   * **[[https://en.wikipedia.org/wiki/Rectifier_(neural_networks)|Rectifier (neural networks)]]**  sur Wikipedia en   * **[[https://en.wikipedia.org/wiki/Rectifier_(neural_networks)|Rectifier (neural networks)]]**  sur Wikipedia en
 <code python> <code python>
Ligne 64: Ligne 71:
 <code python> <code python>
 def relu_prime(z): def relu_prime(z):
-    """La fonction de Heaviside (également fonction échelon unité, fonction +    """La fonction de Heaviside (également fonction échelon unité, fonction marche d'escalier) est la fonction indicatrice de R. 
-    marche d'escalier) est la fonction indicatrice de R. +     
-    Une fonction indicatrice, est une fonction définie sur un +Une fonction indicatrice, est une fonction définie sur un ensemble E qui explicite l’appartenance ou non à un sous-ensemble F de E de tout élément de E.  
-    ensemble E qui explicite l’appartenance ou non à un sous-ensemble F de E +C'est donc la fonction H (discontinue en 0) prenant la valeur 1 pour tous les réels positifs et la valeur 0 pour les réels strictement négatifs.
-    de tout élément de E.  +
-    C'est donc la fonction H (discontinue en 0) prenant la valeur 1 pour tous +
-    les réels positifs et la valeur 0 pour les réels strictement négatifs.+
     """     """
     return np.asarray(z > 0, dtype=np.float32)     return np.asarray(z > 0, dtype=np.float32)
 </code> </code>
 ====Sigmoïd==== ====Sigmoïd====
-{{ :2019_05:sigmoid.png?400 |}}+{{ media_12:sigmoid.png?400 |}}
   * **[[https://fr.wikipedia.org/wiki/Sigmo%C3%AFde_(math%C3%A9matiques)|Sigmoïde]]**  sur Wikipedia fr   * **[[https://fr.wikipedia.org/wiki/Sigmo%C3%AFde_(math%C3%A9matiques)|Sigmoïde]]**  sur Wikipedia fr
 Elle représente la fonction de répartition de la loi logistique. Elle est souvent utilisée dans les réseaux de neurones parce qu'elle est dérivable, ce qui est une contrainte pour l'algorithme de [[https://fr.wikipedia.org/wiki/R%C3%A9tropropagation_du_gradient|rétropropagation]] de [[https://fr.wikipedia.org/wiki/Perceptron_multicouche#Perceptron_multicouche_%C3%A0_r%C3%A9tropropagation|Werbos]]. La forme de la dérivée de sa fonction inverse est extrêmement simple et facile à calculer, ce qui améliore les performances des algorithmes.  Elle représente la fonction de répartition de la loi logistique. Elle est souvent utilisée dans les réseaux de neurones parce qu'elle est dérivable, ce qui est une contrainte pour l'algorithme de [[https://fr.wikipedia.org/wiki/R%C3%A9tropropagation_du_gradient|rétropropagation]] de [[https://fr.wikipedia.org/wiki/Perceptron_multicouche#Perceptron_multicouche_%C3%A0_r%C3%A9tropropagation|Werbos]]. La forme de la dérivée de sa fonction inverse est extrêmement simple et facile à calculer, ce qui améliore les performances des algorithmes. 
Ligne 96: Ligne 100:
  
 ====Diagonale de 1==== ====Diagonale de 1====
-{{ :2019_02:matrice_3x3_1.png?200 |}} +{{ media_01:matrice_3x3_1.png?200 |}} 
-  numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')\\+ 
 +  numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C') 
 +  
   Return a 2-D array with ones on the diagonal and zeros elsewhere.   Return a 2-D array with ones on the diagonal and zeros elsewhere.
 Matrice ou la sortie est idéale: le 1 correspond à entée[i] = sortie[i], et entée[j],sortie[k] =0 si j différent de k Matrice ou la sortie est idéale: le 1 correspond à entée[i] = sortie[i], et entée[j],sortie[k] =0 si j différent de k
Ligne 109: Ligne 115:
 Un réseau de neurones Perceptron multicouches est un type de réseau dont l'information circule dans un unique sens, de la couche d'entrée vers la couche de sortie. Ont dit qu'il est un réseau "à propagation directe" (feedforward). Un réseau de neurones Perceptron multicouches est un type de réseau dont l'information circule dans un unique sens, de la couche d'entrée vers la couche de sortie. Ont dit qu'il est un réseau "à propagation directe" (feedforward).
  
-====Notre réseau==== 
-Réseau de neurones:  
- 
-**Une colonne de 1600 en entrée, 2 nodes de 100, une sortie de 27 caractères.** 
  
 ===== Réseau de neurones Convolutif ===== ===== Réseau de neurones Convolutif =====
Ligne 124: Ligne 126:
 Enfin, là c'est de l'intelligence qu'on cherche, pas de l'amour. Enfin, là c'est de l'intelligence qu'on cherche, pas de l'amour.
  
-{{ :2019_04:perceptron.svg.png?1000 |}}+====Notre réseau==== 
 + **Une colonne de 1600 en entrée, 2 nodes de 100, une sortie de 27 caractères.** 
 + 
 +{{ media_01:perceptron.svg.png?1000 |}}
  
 La totalité du projet est à **[[https://github.com/sergeLabo/semaphore|Semaphore]]** sur Github, et  **[[jeu_du_semaphore_dans_le_blender_game_engine|Jeu du sémaphore dans le Blender Game Engine]]** pour la création des images. La totalité du projet est à **[[https://github.com/sergeLabo/semaphore|Semaphore]]** sur Github, et  **[[jeu_du_semaphore_dans_le_blender_game_engine|Jeu du sémaphore dans le Blender Game Engine]]** pour la création des images.
  
 +====Installation====
 +Installation de pip3:
 +  sudo apt install pip3
 +Installation de numpy et opencv
 +  sudo pip3 install opencv numpy
 +Il faut installer mon [[pymultilame|module python perso]] disponible sur Github
 +  sudo pip3 install -e git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame
 +  
 +====Le script====
 <file python ia.py> <file python ia.py>
 #!/usr/bin/env python3 #!/usr/bin/env python3
Ligne 173: Ligne 187:
  
     def training(self):     def training(self):
-        """Apprentissage avec 60 000 images. Poids enregistré dans weights.npy"""+        """Apprentissage avec 50 000 images. Poids enregistré dans weights.npy"""
         print("Training...")         print("Training...")
  
Ligne 303: Ligne 317:
 </file>     </file>    
  
 +=====La même chose avec Cupy ou Tensorflow=====
 +  * **[[cupy_vs_numpy|Cupy: calcul numpy avec CUDA]]**
 +  * **[[le_semaphore_avec_tensorflow|Le sémaphore avec TensorFlow]]**
  
 ===== Etape suivante: YOLO Darknet===== ===== Etape suivante: YOLO Darknet=====
l_intelligence_du_semaphore.1570714054.txt.gz · Dernière modification : 2019/10/10 13:27 de serge