Outils pour utilisateurs

Outils du site


yolo_darknet_sur_un_portable_optimus

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
yolo_darknet_sur_un_portable_optimus [2019/04/29 18:33]
serge [Avec un vrai sémaphore]
yolo_darknet_sur_un_portable_optimus [2020/02/04 17:27] (Version actuelle)
serge ↷ Liens modifiés en raison d'un déplacement.
Ligne 31: Ligne 31:
 ====Installation du driver Nvidia==== ====Installation du driver Nvidia====
 Avec le Gestionnaire de pilotes supplémentaires Avec le Gestionnaire de pilotes supplémentaires
-====Installation====+====Installation ​de cuda,cudnn, opencv-python====
 Le tout va télécharger 3 à 4 Go ! Le tout va télécharger 3 à 4 Go !
 <​code>​ <​code>​
Ligne 43: Ligne 43:
 sudo apt-get install --no-install-recommends cuda-10-0 sudo apt-get install --no-install-recommends cuda-10-0
 sudo apt-get install --no-install-recommends libcudnn7=7.4.1.5-1+cuda10.0 ​ libcudnn7-dev=7.4.1.5-1+cuda10.0 sudo apt-get install --no-install-recommends libcudnn7=7.4.1.5-1+cuda10.0 ​ libcudnn7-dev=7.4.1.5-1+cuda10.0
-sudo apt-get install cmake clang python3-pip libopencv-dev libopencv-core-dev libopencv-highgui-dev libopencv-flann-dev libopencv-photo-dev libopencv-video-dev libopencv-dev +sudo apt-get install cmake clang python3-pip libopencv-dev libopencv-core-dev libopencv-highgui-dev libopencv-flann-dev libopencv-photo-dev libopencv-video-dev 
-sudo pip3 install opencv-python==3.4.5.20+sudo pip3 install opencv-python==3.4.5.20 ​scikit-image
 </​code>​ </​code>​
 +
 +Après installation,​ ne pas faire de mises à jour système: ça casserai libcudnn7=7.4.1.5-1+cuda10.0
 +
 +Pour faire les mises à jour, il faudrait d'​abord bloquer les versions de cuda et cudnn, y compris les dev.
 +
 +====Installation complémentaire pour mes projets====
 +Installation de mon module personnel: [[:​pymultilame|Python:​ pymultilame]]
 +
 +
 +
 =====Installation de YOLO Darknet===== =====Installation de YOLO Darknet=====
 Dans les [[https://​github.com/​AlexeyAB/​darknet|sources]] décompressée de darknet: Dans les [[https://​github.com/​AlexeyAB/​darknet|sources]] décompressée de darknet:
 +
 +Pour ajouter la libération de la RAM GPU entre 2 détections dans un script python,
 +[[Darknet Letters unload GPU RAM in python script|Darknet Letters unload GPU RAM in python script]]
 ====Options de Makefile avec GPU avec CUDA avec OPENCV==== ====Options de Makefile avec GPU avec CUDA avec OPENCV====
 <​code>​ <​code>​
Ligne 56: Ligne 69:
 AVX=0 AVX=0
 OPENMP=0 OPENMP=0
-LIBSO=0+LIBSO=1
 ZED_CAMERA=0 ZED_CAMERA=0
 </​code>​ </​code>​
Ligne 69: Ligne 82:
 </​code>​ </​code>​
 L'​excécutable est dans le dossier root de darknet. L'​excécutable est dans le dossier root de darknet.
 +
 +Le fichier libdarknet.so de 1060GTX: {{ libdarknet.so.zip |}}
 =====Préparation===== =====Préparation=====
-Voir la page **[[:yolo_avec_mes_propres_images|Yolo avec mes propres images]]** pour la construction de **60 000 images 640x640** et des fichiers *.txt correspondants.+Voir la page **[[yolo_avec_mes_propres_images|Yolo avec mes propres images]]** pour la construction de **60 000 images 640x640** et des fichiers *.txt correspondants.
  
 Ici nous utilisons **[[https://​github.com/​sergeLabo/​semaphore_cv_yolo|Création d'​images pour utiliser Yolo Darknet avec OpenCV]]**. Ici nous utilisons **[[https://​github.com/​sergeLabo/​semaphore_cv_yolo|Création d'​images pour utiliser Yolo Darknet avec OpenCV]]**.
Ligne 76: Ligne 91:
 Les axes blanc sont probablement important pour la reconnaissance. Les axes blanc sont probablement important pour la reconnaissance.
  
-{{:2019_04:​shot_53_z.jpg?​200|}} +{{media_01:​shot_53_z.jpg?​200|}} 
-{{:2019_04:​shot_455_w.jpg?​200|}} +{{media_01:​shot_455_w.jpg?​200|}} 
-{{:2019_04:​shot_894_c.jpg?​200|}} +{{media_01:​shot_894_c.jpg?​200|}} 
-{{:2019_04:​shot_1916_z.jpg?​200|}} +{{media_01:​shot_1916_z.jpg?​200|}} 
-{{:2019_04:​shot_59248_j.jpg?​200|}} +{{media_01:​shot_59248_j.jpg?​200|}}
- +
-Les commandes pour exécuter .darknet ont comme argument: +
-  axe/​obj.data axe/​yolov3-obj_3l_labo_axe.cfg darknet53.conv.74+
   ​   ​
 **darknet53.conv.74** **darknet53.conv.74**
Ligne 134: Ligne 146:
  
 =====Training===== =====Training=====
-  export PATH=/​usr/​local/​cuda-10.0/​bin${PATH:​+:​${PATH}} 
   ./darknet detector train axe/​obj.data axe/​yolov3-obj_3l_labo_axe.cfg darknet53.conv.74 -map   ./darknet detector train axe/​obj.data axe/​yolov3-obj_3l_labo_axe.cfg darknet53.conv.74 -map
  
-{{ :2019_04:​chart.png?​300 |}}+{{ media_01:​chart.png?​300 |}}
  
 ===Message final=== ===Message final===
Ligne 174: Ligne 185:
  for thresh = 0.25, precision = 0.97, recall = 0.95, F1-score = 0.96   for thresh = 0.25, precision = 0.97, recall = 0.95, F1-score = 0.96 
  for thresh = 0.25, TP = 5699, FP = 188, FN = 301, average IoU = 87.69 %   for thresh = 0.25, TP = 5699, FP = 188, FN = 301, average IoU = 87.69 % 
- 
  IoU threshold = 50 %, used Area-Under-Curve for each unique Recall ​  IoU threshold = 50 %, used Area-Under-Curve for each unique Recall ​
  mean average precision (mAP@0.50) = 0.982366, or 98.24 %   mean average precision (mAP@0.50) = 0.982366, or 98.24 % 
-Total Detection Time: 78.000000 Seconds 
- 
-Set -points flag: 
- ​`-points 101` for MS COCO  
- ​`-points 11` for PascalVOC 2007 (uncomment `difficult` in voc.data) ​ 
- ​`-points 0` (AUC) for ImageNet, PascalVOC 2010-2012, your custom dataset 
- 
  ​mean_average_precision (mAP@0.5) = 0.982366 ​  ​mean_average_precision (mAP@0.5) = 0.982366 ​
-Saving weights to axe/​backup/​yolov3-obj_3l_labo_axe_54000.weights 
-Saving weights to axe/​backup/​yolov3-obj_3l_labo_axe_last.weights 
-Saving weights to axe/​backup/​yolov3-obj_3l_labo_axe_final.weights 
 </​code>​ </​code>​
- 
-===Le fichier final obtenu=== 
-  * **{{ :​2019_04:​yolov3-labo_axe_final.weights.tar.gz |}}** 
  
 =====Testing===== =====Testing=====
 ====Test sur une image==== ====Test sur une image====
-  export PATH=/​usr/​local/​cuda-10.0/​bin${PATH:​+:​${PATH}} 
   ./darknet detector test axe/​obj.data ​ axe/​yolov3-obj_3l_labo_axe.cfg axe/​backup/​yolov3-obj_3l_labo_axe_final.weights axe/​shot_36_space.jpg   ./darknet detector test axe/​obj.data ​ axe/​yolov3-obj_3l_labo_axe.cfg axe/​backup/​yolov3-obj_3l_labo_axe_final.weights axe/​shot_36_space.jpg
  
Ligne 201: Ligne 197:
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>
-{{:2019_03:​predictions_b_h.jpg?​400|}}+{{media_01:​predictions_b_h.jpg?​400|}}
 </​WRAP>​ </​WRAP>​
 <WRAP half column> <WRAP half column>
-{{:2019_03:​predictions_space.jpg?​400|}}\\+{{media_01:​predictions_space.jpg?​400|}}\\
 shot_36_space.jpg:​ Predicted in 58.519000 milli-seconds:​\\ shot_36_space.jpg:​ Predicted in 58.519000 milli-seconds:​\\
 space: 40% space: 40%
Ligne 220: Ligne 216:
  
 =====Avec un vrai sémaphore===== =====Avec un vrai sémaphore=====
-  * **[[2019_04:yolo_darknet_avec_un_vrai_semaphore|Yolo Darknet avec un vrai sémaphore]]** +  * **[[yolo_darknet_avec_un_vrai_semaphore|Yolo Darknet avec un vrai sémaphore]]** 
-  * **[[https://​github.com/​sergeLabo/​semaphore_blend_yolo|Les sources sur GitHub]]**+  * **[[https://​github.com/​sergeLabo/​semaphore_blend_yolo|et les sources ​correspondantes ​sur GitHub]]**
  
-{{tag> ia sb semaphore}}+{{tag> ia sb semaphore ​ ​yolo_darknet deap_learning}}
  
  
yolo_darknet_sur_un_portable_optimus.1556555603.txt.gz · Dernière modification: 2019/04/29 18:33 par serge