simple_ai_example
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édente | ||
exercice_d_ia [2020/09/01 16:37] – serge | simple_ai_example [2021/12/14 09:47] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 51.15.19.181 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | <WRAP center round box 80% centeralign> | + | |
- | **{{tagpage> | + | <WRAP center round box 60% centeralign> |
+ | **{{tagpage> | ||
+ | </ | ||
+ | <WRAP center round box 60% centeralign> | ||
+ | **[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]** | ||
</ | </ | ||
+ | |||
+ | <WRAP center round box 50% centeralign> | ||
+ | **Un exemple d' | ||
+ | **[[jeux_de_donnees_pour_machine_learning|Jeux de données utilisables pour un Apprentissage Automatique]]** | ||
+ | </ | ||
+ | |||
+ | <WRAP center round box 50% centeralign> | ||
+ | Je suis paresseux et je veux un exemple simple.\\ | ||
+ | Les datas utilisées seront:\\ | ||
+ | **[[https:// | ||
+ | </ | ||
+ | |||
+ | ===== Contexte des datas ===== | ||
+ | * **[[https:// | ||
+ | **L' | ||
===== Avec numpy ===== | ===== Avec numpy ===== | ||
====Ressources==== | ====Ressources==== | ||
- | * **[[l_intelligence_du_semaphore|L' | + | * **[[l_intelligence_du_semaphore|L' |
+ | * **[[uneiaen50lignesdecode|Une I.A. en 50 lignes de code]]** Une intelligence artificielle qui reconnaît des chiffres manuscrits. | ||
+ | ==== Code sur GitHub ==== | ||
+ | * **[[https:// | ||
+ | ==== Résultat ==== | ||
+ | <code text> | ||
+ | ........ | ||
+ | Initialisation 7: | ||
+ | Création de l' | ||
+ | 0: Learningrate: | ||
+ | 1: Learningrate: | ||
+ | 2: Learningrate: | ||
+ | 3: Learningrate: | ||
+ | 4: Learningrate: | ||
+ | 5: Learningrate: | ||
+ | 6: Learningrate: | ||
+ | 7: Learningrate: | ||
+ | 8: Learningrate: | ||
+ | 9: Learningrate: | ||
+ | Initialisation 8: | ||
+ | Création de l' | ||
+ | 0: Learningrate: | ||
+ | 1: Learningrate: | ||
+ | 2: Learningrate: | ||
+ | 3: Learningrate: | ||
+ | 4: Learningrate: | ||
+ | 5: Learningrate: | ||
+ | 6: Learningrate: | ||
+ | 7: Learningrate: | ||
+ | 8: Learningrate: | ||
+ | 9: Learningrate: | ||
+ | |||
+ | Initialisation 9: | ||
+ | Création de l' | ||
+ | 0: Learningrate: | ||
+ | 1: Learningrate: | ||
+ | 2: Learningrate: | ||
+ | 3: Learningrate: | ||
+ | 4: Learningrate: | ||
+ | 5: Learningrate: | ||
+ | 6: Learningrate: | ||
+ | 7: Learningrate: | ||
+ | 8: Learningrate: | ||
+ | 9: Learningrate: | ||
+ | |||
+ | Temps de calcul par cycle: 3.21 s | ||
+ | Meilleur résultat: learningrate = 0.0255 efficacité = 81.025 | ||
+ | </ | ||
+ | ====Commentaires==== | ||
+ | * Les datas sont anciennes (1991): la méthode pour caractériser les lettres n'est pas pertinente. De nos jours, on utilise directement des images et des [[https:// | ||
+ | * Il n'y a pas assez de data pour l' | ||
+ | * Le script fait une Optimisation des paramètres avec 10 test sur le Learning Rate, recommencer 10 fois pour réinitialiser le fichier de poids. | ||
+ | * Cela prend beaucoup de temps, d'où la nécessité d' | ||
===== Avec cupy ===== | ===== Avec cupy ===== | ||
+ | Voir | ||
+ | * **[[cupy_vs_numpy|Cupy: | ||
+ | * **[[compilation_de_oepncv_avec_cuda_sur_ubuntu|Installation de CUDA]]** sur Xubuntu 18.04 | ||
+ | ====Résultat==== | ||
+ | Temps de calcul par cycle: 18.05 s | ||
+ | Meilleur résultat: learningrate=0.0208 efficacité=82.9 | ||
+ | | ||
+ | ====Commentaires==== | ||
+ | Le résultat est très mauvais, alors que c' | ||
+ | ==== Code sur GitHub ==== | ||
+ | * **[[https:// | ||
===== Avec Tensorflow ===== | ===== Avec Tensorflow ===== | ||
+ | ====Installation==== | ||
+ | sudo pip3 install tensorflow | ||
+ | ====Ressources==== | ||
+ | * **[[le_semaphore_avec_tensorflow|Le sémaphore avec TensorFlow]]** | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== Code sur GitHub ==== | ||
+ | * **[[https:// | ||
+ | |||
+ | ==== Résultat sur un portable sans GPU avec epochs = 10==== | ||
+ | < | ||
+ | ....... | ||
+ | Epoch 7/10 | ||
+ | 500/500 [==============================] - 0s 815us/step - loss: 0.6596 - accuracy: 0.8134 | ||
+ | Epoch 8/10 | ||
+ | 500/500 [==============================] - 0s 819us/step - loss: 0.6181 - accuracy: 0.8217 | ||
+ | Epoch 9/10 | ||
+ | 500/500 [==============================] - 0s 817us/step - loss: 0.5782 - accuracy: 0.8306 | ||
+ | Epoch 10/10 | ||
+ | 500/500 [==============================] - 0s 823us/step - loss: 0.5511 - accuracy: 0.8389 | ||
+ | 125/125 [==============================] - 0s 742us/step - loss: 0.5752 - accuracy: 0.8345 | ||
+ | Testing ...... | ||
+ | Efficacité sur les tests: 83.45 % | ||
+ | Apprentissage en 4.9 secondes | ||
+ | </ | ||
+ | ==== Résultat sur un portable avec GPU GTX 850m avec epochs = 10==== | ||
+ | < | ||
+ | ....... | ||
+ | 32/4000 [..............................] - ETA: 1s - loss: 0.6138 - acc: 0.812 | ||
+ | 3904/4000 [============================> | ||
+ | 4000/4000 [==============================] - 0s 17us/sample - loss: 0.5527 - acc: 0.8403 | ||
+ | Testing ...... | ||
+ | Efficacité sur les tests: 84.03 % | ||
+ | Apprentissage en 5.9 secondes | ||
+ | </ | ||
+ | ====Commentaires==== | ||
+ | C'est rapide et efficace !\\ | ||
+ | Il faut bien comprendre que le principe des calculs avec Tensorflow est le même que les scripts python. | ||
+ | Tensorflow est optimisé, et en plus tourne avec carte graphique ou non !! | ||
+ | Avec GPU, le chargement en RAM GPU prend du temps, qui n'est pas compensé par le calcul plus rapide, car il est trop court. | ||
- | {{tag> | + | {{tag> ia python sb }} |
simple_ai_example.1598978259.txt.gz · Dernière modification : 2020/09/01 16:37 de serge