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édentes Révision précédente
Prochaine révision
Révision précédente
l_intelligence_du_semaphore [2019/10/10 15:01]
serge [L'intelligence du sémaphore]
l_intelligence_du_semaphore [2020/09/05 12:40] (Version actuelle)
serge [La même chose avec Cupy ou Tensorflow]
Ligne 10: Ligne 10:
  
 <WRAP center round box 60% centeralign>​ <WRAP center round box 60% centeralign>​
-**Calcul de [[L'​intelligence du sémaphore|L'​intelligence du sémaphore]] sur GPU au lieu du CPU**+**Calcul de [[Le sémaphore ​avec TensorFlow|Le sémaphore ​avec TensorFlow]] sur GPU au lieu du CPU avec TensorFlow**
 </​WRAP>​ </​WRAP>​
 =====Les sources sur GitHub===== =====Les sources sur GitHub=====
Ligne 18: Ligne 18:
 <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 31:
 <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 44:
 ===== Des maths ! ==== ===== Des maths ! ====
 ====Relu Rectifier neural networks==== ====Relu Rectifier neural networks====
-{{ :2019_05:relu.jpg?​400 |}}+{{ 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 64:
 <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 |}}+{{ 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 93:
  
 ====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 108:
 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 119:
 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 180:
  
     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 310:
 </​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=====
 **[[computer_vision_and_pattern_recognition_segmentation_d_image|Computer Vision and Pattern Recognition Mask R-CNN]]** **[[computer_vision_and_pattern_recognition_segmentation_d_image|Computer Vision and Pattern Recognition Mask R-CNN]]**
  
-{{tag>​ia ​semaphore ​sb bge}}+{{tag> ​bge ia python ​sb semaphore ​}}
  
l_intelligence_du_semaphore.1570712510.txt.gz · Dernière modification: 2019/10/10 15:01 par serge