darknet_letters
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
darknet_letters [2019/08/12 10:49] – [Conversion d'un fichier *.midi en *.json] serge | darknet_letters [2019/08/21 08:48] – [Apprentissage] serge | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
{{ :: | {{ :: | ||
<WRAP center round box 60% centeralign> | <WRAP center round box 60% centeralign> | ||
- | font_0_h | + | 2 0.37 0.31 0.18 0.18 \\ |
- | font_0_l | + | 356 0.07 0.27 0.13 0.13 \\ |
- | font_0_t | + | 29 0.44 0.14 0.1 0.1 \\ |
- | font_0_C | + | 127 0.54 0.49 0.13 0.13 \\ |
- | font_0_O | + | 99 0.27 0.95 0.21 0.21\\ |
</ | </ | ||
- | <WRAP center round box 80% centeralign> | + | <WRAP center round box 60% centeralign> |
- | **De l' | + | **De l' |
</ | </ | ||
===== Les sources sur GitHub ===== | ===== Les sources sur GitHub ===== | ||
Ligne 25: | Ligne 25: | ||
{{: | {{: | ||
{{: | {{: | ||
+ | |||
====Conversion d'un fichier *.midi en *.json==== | ====Conversion d'un fichier *.midi en *.json==== | ||
Le fichier python darknet-letters/ | Le fichier python darknet-letters/ | ||
Ligne 31: | Ligne 32: | ||
* jouer un fichier *.json | * jouer un fichier *.json | ||
- | ===Installation=== | + | ====Installation==== |
<code txt> | <code txt> | ||
sudo pip3 install numpy | sudo pip3 install numpy | ||
Ligne 39: | Ligne 40: | ||
sudo pip3 install mido | sudo pip3 install mido | ||
sudo apt install fluidsynth | sudo apt install fluidsynth | ||
- | # FluidR3_GM.sf2 | + | </ |
- | sudo apt install fluid-soundfont-gm | + | |
- | </ | + | |
- | Installation de [[pymultilame|Python: | + | Installation de mon package perso: **[[pymultilame|pymultilame]]** |
- | ===Principe=== | + | La Font midi utilisée est TimGM6mb.sf2 de **[[http:// |
- | Les fichiers midi sont très optimisés. La conversion en json permet d' | + | |
+ | ====Principe | ||
+ | Les fichiers midi sont très optimisés. La conversion en json permet d' | ||
Les fichiers *.midi (" | Les fichiers *.midi (" | ||
- | Les *.json seront créés dans le dossier " | + | Les *.json seront créés dans le dossier " |
- | ====Lancement | + | |
- | Dans le dossier darknet-letters: | + | ====Règles générales==== |
- | play_letters.sh | + | - Ne pas bidouiller les scripts, à moins que vous ne soyez hollandais. |
+ | - Si il y a un bug, corriger dans les scripts, toujours de façon explicite. | ||
+ | - Les modifications de configuration se font dans ./ | ||
+ | |||
+ | ====Modification de la configuration==== | ||
+ | En particulier, | ||
+ | [blend] | ||
+ | shot_size = 1024 | ||
+ | [darknet] | ||
+ | shot_size = 704 | ||
+ | [dirertories] | ||
+ | shot = " | ||
+ | shot_jpg = "/ | ||
+ | Les dossiers vont faire 6 à 8 Go !\\ | ||
+ | L' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Création | ||
+ | ====Le | ||
+ | Dans le dossier darknet-letters, lancer | ||
+ | | ||
<code txt> | <code txt> | ||
- | SPACE pour changer de music | + | 1 - Affichage du logo |
- | 1 Affichage du logo | + | 2 - Lancement de letters |
- | 2 Lancement de music and letters | + | SPACE pour changer de musique |
- | 3 Lancement de get shot | + | 3 - Fabrication des shot pour l'IA |
- | 4 Création des json | + | 4 - Conversion en json |
- | H help | + | H - Help |
- | Echap Quitter | + | R - Reset |
</ | </ | ||
Ligne 71: | Ligne 94: | ||
En 4: Les fichiers midi sont traduits en json pour être facilement utilisé en python. | En 4: Les fichiers midi sont traduits en json pour être facilement utilisé en python. | ||
- | ===Shot=== | + | ====Préparation de Darknet==== |
- | Les shots seront enregistrés dans le dossier défini dans le fichier **darknet-letters/ | + | |
- | shot_dir | + | |
===Conversion=== | ===Conversion=== | ||
- | Tous les shot doivent être floutés et converti en jpg avec le script **darknet-letters/ | + | Tous les shot doivent être floutés et converti en jpg avec le script **./letters/ |
- | + | ||
- | Définir ligne 81 le chemin vers votre dossier | + | |
- | shot = " | + | |
===Création des fichiers train.txt et test.txt=== | ===Création des fichiers train.txt et test.txt=== | ||
- | Avec le script **darknet-letters/ | + | Avec le script **./letters/ |
- | Définir ligne 10: | + | Pour chaque image toto.png, un fichier toto.txt est créé pour décrire les objets dans l' |
- | | + | [[yolo_avec_mes_propres_images# |
===Controle des fichiers txt de chaque image=== | ===Controle des fichiers txt de chaque image=== | ||
- | Avec le script **darknet-letters/ | + | Avec le script **./ |
- | Définir le chemin de shot ligne 15. | + | {{ ::shot_4000.jpg?400 |}} |
===== Yolo V3 Darknet===== | ===== Yolo V3 Darknet===== | ||
Ligne 101: | Ligne 117: | ||
==== Compilation de Darknet ==== | ==== Compilation de Darknet ==== | ||
* **[[yolo_darknet_sur_un_portable_optimus# | * **[[yolo_darknet_sur_un_portable_optimus# | ||
- | |||
====Détection de mes objets lettres==== | ====Détection de mes objets lettres==== | ||
===Pre-trained weights=== | ===Pre-trained weights=== | ||
wget -c https:// | wget -c https:// | ||
- | et coller le fichier dans le dossier | + | et coller le fichier dans le dossier |
- | ===Fichier *.cfg=== | + | ===Dossier letters_0=== |
- | Errors with 5 yolo layers | + | Créer un dossier dossier letters_0 dans les sources de YOLO Darknet avec: |
+ | * train.txt | ||
+ | * test.txt | ||
+ | * obj.data | ||
+ | * obj.names | ||
+ | * yolov3_letters.cfg | ||
+ | * le dossier /backup | ||
+ | ===Fichier *.cfg=== | ||
Copie de darknet/ | Copie de darknet/ | ||
Ligne 138: | Ligne 160: | ||
===train.txt test.txt=== | ===train.txt test.txt=== | ||
Les fichiers train.txt et test.txt doivent être collés dans letters_0 | Les fichiers train.txt et test.txt doivent être collés dans letters_0 | ||
+ | <code txt> | ||
+ | exemple | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ... | ||
+ | ... | ||
+ | </ | ||
- | =====Apprentissage===== | + | ===obj.names=== |
- | Ou Training appelé train (non pas de locomotive à vapeur!) | + | <code txt> |
+ | font_0_a | ||
+ | font_0_b | ||
+ | ... | ||
+ | ... | ||
+ | font_9_S | ||
+ | font_9_T | ||
+ | </ | ||
+ | ===obj.data=== | ||
+ | Défini les chemins des fichiers utilisés: | ||
+ | <code txt> | ||
+ | classes = 400 | ||
+ | train = letters_0/ | ||
+ | valid = letters_0/ | ||
+ | names = letters_0/ | ||
+ | backup = letters_0/ | ||
+ | </ | ||
+ | |||
+ | ====Apprentissage==== | ||
+ | Ou Training appelé train (non! pas de locomotive à vapeur ici!) | ||
+ | |||
+ | ===Essais 5 yolo layers=== | ||
+ | * fini sur error | ||
+ | |||
+ | ===tiny=== | ||
+ | Utilisation de la configuration yolov3-tiny.cfg\\ | ||
+ | Création de yolov3-tiny.conv.15 dans letters_tiny/: | ||
+ | ./darknet partial letters_tiny/ | ||
+ | Apprentissage: | ||
+ | ./darknet detector train letters_tiny/ | ||
+ | | ||
+ | Efficacité: | ||
+ | |||
+ | ===yolov3.cfg=== | ||
export PATH=/ | export PATH=/ | ||
- | ./darknet detector train letters_0/ | + | ./darknet detector train letters_0/ |
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Test ===== | ||
+ | Coller, dans le dossier compilé de darknet, le dossier letters_0 | ||
+ | ./darknet detector test letters_0/ | ||
+ | =====Morale du jour===== | ||
+ | Einstein a dit: "Deux choses sont infinies: l' | ||
- | {{tag> ia sb}} | + | {{tag> ia sb bge}} |
darknet_letters.txt · Dernière modification : 2020/12/27 15:11 de serge