Outils pour utilisateurs

Outils du site


darknet_letters

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
darknet_letters [2019/11/08 09:22]
serge [Apprentissage avec yolov3-tiny.cfg]
darknet_letters [2020/02/04 17:43] (Version actuelle)
serge ↷ Liens modifiés en raison d'un déplacement.
Ligne 4: Ligne 4:
 </​WRAP>​ </​WRAP>​
 <WRAP center round box 80% centeralign>​ <WRAP center round box 80% centeralign>​
-{{::2019_08:​shot_22.png?​400|}} {{:2019_08:​shot_17.png?​400|}}+{{media_02:​shot_22.png?​400|}} {{media_02:​shot_17.png?​400|}}
 Le fond noir ne convient pas, il faut une video ! Le fond noir ne convient pas, il faut une video !
 </​WRAP>​ </​WRAP>​
-<WRAP center round box 60% centeralign+<WRAP center round box 60%> 
-**De l'​Intelligence Artificielle pour reconnaître des lettres dans différentes polices convertir les lettres d'un texte en musique midi.**+  ​* ​**De l'​Intelligence Artificielle pour reconnaître des lettres dans différentes polices** 
 +  * **Créer des images correspondant à une musique midi** 
 +  * **Lecture des images par l'​Intelligence Artificielle et rejouer le midi**
 </​WRAP>​ </​WRAP>​
  
 +{{ vimeo>​377284950?​medium }}
 +\\ \\ 
 +**[[darknet_letters_essais|Darknet Letters Tous les essais]]**
 +
 +**[[https://​github.com/​sergeLabo/​darknet-letters|darknet-letters sur Github]]**\\ \\ 
 ===== YOLO Darknet V3 ===== ===== YOLO Darknet V3 =====
 +====Conclusion finale====
 +  * Le nombre de paramètres à optimiser est important. Pour pouvoir faire beaucoup de simulation, les calculs doivent être rapide, il est nécessaire d'​avoir des cartes graphiques puissantes, et chères !
 +  * Pour faire mieux, une GTX 1060 ne suffit pas. Il en faudrait au minimum 2, et mieux encore RTX 2080 Ti 11GB à 1100€
 +  * Cela permettrait de tester les modèles plus lourds et d'​agrandir les images. Passer de 416x416 à 832x832 !
 ==== Conclusion des différents apprentissages ==== ==== Conclusion des différents apprentissages ====
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>
-  * **380 objets**+  * **Suppression des majuscules pour diminuer le nombre d'​ojects de 380 à 190** 
 +  * **Le modèle yolov3.cfg est trop lourd, le yolov3-tiny_3l.cfg suffit**
   * **Images de 416x416**   * **Images de 416x416**
-  * **5.5 jours d'​apprentissage** +  * **1 à 2 jours d'​apprentissage** 
-  * **Ne pas mettre de fond noir** +  * **Fond video pour l'​apprentissage, ​noir pour la détection** 
-  * **Les zones de définitions des objets dans les images doivent être un peu large** +  * **Pas de flou dans les images **
-  * **Mettre un peu de flou dans les images **+
 </​WRAP>​ </​WRAP>​
 <WRAP half column> <WRAP half column>
Ligne 38: Ligne 49:
 **Créer et testé sur Debian Buster 10** **Créer et testé sur Debian Buster 10**
  
-{{:2019_08:​letters_1.png?​300|Le jeu}} +{{media_02:​letters_1.png?​300|Le jeu}} 
-{{::​shot_12.png?​300|Avec un fond video}} +{{media_03:​shot_12.png?​300|Avec un fond video}} 
-{{:2019_08:​letters_3.png?​300|Avec un fond noir: la reconnaissance est très mauvaise}}+{{media_02:​letters_3.png?​300|Avec un fond noir: la reconnaissance est très mauvaise}}
  
 ====Conversion d'un fichier *.midi en *.json==== ====Conversion d'un fichier *.midi en *.json====
Ligne 97: Ligne 108:
    
 <code txt> <code txt>
- ​1 ​- Retour au logo + 1 - Lancement de letters
- ​2 ​- Lancement de letters+
      SPACE pour changer de musique      SPACE pour changer de musique
- - Fabrication des shot pour l'IA + - Fabrication des shot pour l'IA 
- 4 - Conversion en json + - Conversion d'une musique en image
- ​5 ​- Conversion d'une musique en image+
  H - Help  H - Help
  R - Reset  R - Reset
Ligne 108: Ligne 117:
 </​code>​ </​code>​
  
-En 2: Les fichiers du dossier /json seront jouées.+En 1: Les fichiers du dossier /json_60 ​seront jouées.
  
-En 3: Pour l'​apprentissage,​ le fichier json/​get_shot.json sera utilisé. Il a été construit avec darknet-letters/​letters/​midi/​json_for_get_shot.py+En 2: Pour l'​apprentissage,​ le fichier json/​get_shot.json sera utilisé. Il a été construit avec darknet-letters/​letters/​midi/​json_for_get_shot.py
  
-En 4: Les fichiers midi sont traduits en json pour être facilement utilisé en python. Malheureusement,​ la conversion dans le Blender Game Engine est très lente, plusieurs heures au lieu de quelques minutes avec le script analyse_play_midi.py +En 3: Crée un jeu d'​images pour ensuite tester l'IA avec play_letters.py
- +
-En 5: Crée un jeu d'​images pour ensuite tester l'IA avec show_letters.py+
  
 ===== Création du set d'​images pour l'​apprentissage ===== ===== Création du set d'​images pour l'​apprentissage =====
Ligne 132: Ligne 139:
 Avec le script **./​letters/​control/​control.py** Avec le script **./​letters/​control/​control.py**
  
-{{ ::​shot_14.jpg?​400 |}}+{{ media_03:​shot_14.jpg?​400 |}}
  
 ===== Yolo V3 Darknet===== ===== Yolo V3 Darknet=====
Ligne 261: Ligne 268:
   ./darknet detector train data_12/​obj.data data_12/​yolov3-tiny_12.cfg data_12/​yolov3-tiny.conv.15 -map   ./darknet detector train data_12/​obj.data data_12/​yolov3-tiny_12.cfg data_12/​yolov3-tiny.conv.15 -map
   ​   ​
- Le fichier yolov3-tiny_12_best.weights fait  Mo+ Le fichier yolov3-tiny_12_best.weights fait 38 Mo. Malheureusement,​ ça plante !
 =====Tous les essais===== =====Tous les essais=====
   * **[[darknet_letters_essais|Tous les essais sur cette page]]**   * **[[darknet_letters_essais|Tous les essais sur cette page]]**
Ligne 304: Ligne 311:
 </​WRAP>​ </​WRAP>​
  
-=====Bug: ​Vidage ​de la RAM GPU à la fin d'une détection===== +=====Bug: ​Libération ​de la RAM GPU à la fin d'une détection=====
-**Bug: Vidage de la RAM GPU à la fin d'une détection en gardant le script python actif.** +
- +
-  * unload network in python script https://​github.com/​AlexeyAB/​darknet/​issues/​3467 +
- +
-===./​include/​darknet.h=== +
-<code c> +
-void show_total_time();​ +
- +
-// ajout alexandre pour vider la memoire +
-// network.h +
-LIB_API void free_network(network net); +
- +
-#ifdef __cplusplus +
-+
-#​endif ​ // __cplusplus +
-#​endif ​ // DARKNET_API +
-</​code>​ +
- +
-===./​darknet.py=== +
-<code c> +
-predict_image.restype = POINTER(c_float) +
- +
-# alexandre lien entre lib api de darknet.c et play_letters +
-free_network = lib.free_network +
-free_network.argtypes = [c_void_p] +
- +
-def array_to_image(arr):​ +
-</​code>​ +
  
 +[[darknet_letters_unload_gpu_ram_in_python_script|Voir la page Darknet Letters unload GPU RAM in python script]]
 =====Durée d'un calcul et consommation électrique avec yolov3.cfg===== =====Durée d'un calcul et consommation électrique avec yolov3.cfg=====
   * 50000 itérations de 50 000 images de 416x416 = 6 jours * 24 * 0.2 kW =  kwh à 0.17 € le kWh soit 5 €   * 50000 itérations de 50 000 images de 416x416 = 6 jours * 24 * 0.2 kW =  kwh à 0.17 € le kWh soit 5 €
  
 +**6 mois de calcul = 150 €**
 =====Quels matériels pour un apprentissage rapide ?===== =====Quels matériels pour un apprentissage rapide ?=====
-  * **Quel serait le coût sur un Pentaflops ​ ?** 
-  * **Et si La Labomedia achète un Pentaflops ?** 
   * **[[https://​timdettmers.com/​2019/​04/​03/​which-gpu-for-deep-learning/​|timdettmers.com]]** Which GPU(s) to Get for Deep Learning   * **[[https://​timdettmers.com/​2019/​04/​03/​which-gpu-for-deep-learning/​|timdettmers.com]]** Which GPU(s) to Get for Deep Learning
   * **[[https://​www.quora.com/​What-is-currently-the-best-GPU-for-deep-learning|www.quora.com]]** avec un graphique qui teste alexnet (yolo ?) conseille [[https://​www.amazon.fr/​MSI-GTX-1080-Graphique-GeForce/​dp/​B06XT3TVKP/​ref=sr_1_4?​keywords=gtx+1080+ti&​qid=1569416932&​s=gateway&​sr=8-4|une GTX 1080 Ti]] à 750€ (en fin de série) ou [[https://​www.ldlc.com/​fiche/​PB00263052.html|une RTX 2080 Ti 11GB]] à 1100€.   * **[[https://​www.quora.com/​What-is-currently-the-best-GPU-for-deep-learning|www.quora.com]]** avec un graphique qui teste alexnet (yolo ?) conseille [[https://​www.amazon.fr/​MSI-GTX-1080-Graphique-GeForce/​dp/​B06XT3TVKP/​ref=sr_1_4?​keywords=gtx+1080+ti&​qid=1569416932&​s=gateway&​sr=8-4|une GTX 1080 Ti]] à 750€ (en fin de série) ou [[https://​www.ldlc.com/​fiche/​PB00263052.html|une RTX 2080 Ti 11GB]] à 1100€.
Ligne 347: Ligne 325:
   * **[[https://​blog.slavv.com/​picking-a-gpu-for-deep-learning-3d4795c273b9|slavv.com/​]]** Picking a GPU for Deep Learning   * **[[https://​blog.slavv.com/​picking-a-gpu-for-deep-learning-3d4795c273b9|slavv.com/​]]** Picking a GPU for Deep Learning
   * **[[https://​hackernoon.com/​how-to-create-your-own-deep-learning-rig-a-complete-hardware-guide-7cdc71e174aa|hackernoon.com]]** How to create your own deep learning rig: A complete hardware guide   * **[[https://​hackernoon.com/​how-to-create-your-own-deep-learning-rig-a-complete-hardware-guide-7cdc71e174aa|hackernoon.com]]** How to create your own deep learning rig: A complete hardware guide
 +  * https://​www.tooploox.com/​blog/​deep-learning-with-gpu sur alexnet
  
 ===Remise spéciale Education=== ===Remise spéciale Education===
   * **[[https://​www.nvidia.com/​fr-fr/​titan/​titan-rtx/​|NVIDIA TITAN RTX]]** 20% de remise sur 2720€ soit €2,159.20   * **[[https://​www.nvidia.com/​fr-fr/​titan/​titan-rtx/​|NVIDIA TITAN RTX]]** 20% de remise sur 2720€ soit €2,159.20
 +
 +===Pour une startup fortunée===
 +  * **[[https://​www.microway.com/​preconfiguredsystems/​whisperstation-deep-learning/​| WhisperStation™- Deep Learning Ultra-Quiet Computing for Deep Learning Researchers]]** System Price: $11,265 to $40,047
 +  * **[[https://​www.microway.com/​preconfiguredsystems/​nvidia-dgx-station-deep-learning-workstation/​|NVIDIA DGX Station for Deep Learning System]]** Price: $51,861 (academic pricing, includes 1 year support) to $73,830 (commercial,​ includes 1 year support)
 +  * **[[https://​www.microway.com/​preconfiguredsystems/​gpu-accelerated-workstation-cst-studio-suite/​|Microway’s GPU-Accelerated Workstation for CST STUDIO SUITE®]]** System Price: $15,000 to $45,000
 +Each Microway system is customized to your requirements. Final pricing depends upon configuration and any applicable educational or government discounts.
 +
 +
 =====Benchmark===== =====Benchmark=====
   * https://​github.com/​ryujaehun/​pytorch-gpu-benchmark   * https://​github.com/​ryujaehun/​pytorch-gpu-benchmark
Ligne 362: Ligne 349:
 **Mais, en ce qui concerne l'​Univers,​ je n'en ai pas encore acquis la certitude absolue."​** **Mais, en ce qui concerne l'​Univers,​ je n'en ai pas encore acquis la certitude absolue."​**
  
-{{tag> ia sb bge}}+{{tag> ia sb bge yolo_darknet deap_learning}}
darknet_letters.1573201341.txt.gz · Dernière modification: 2019/11/08 09:22 par serge