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édenteProchaine révisionLes deux révisions suivantes | ||
simple_ai_example [2020/09/06 12:30] – [Code sur GitHub] serge | simple_ai_example [2020/10/19 07:09] – Tag0 Removed: python3 serge | ||
---|---|---|---|
Ligne 28: | Ligne 28: | ||
==== Résultat ==== | ==== Résultat ==== | ||
<code text> | <code text> | ||
- | Get data done. ((16000, 16), (16000,), (4000, 16), (4000,)) | + | ........ |
- | Train Value 0 = [ 2 | + | Initialisation 7: |
- | Train Label 0 = 19 | + | Création de l' |
- | Test Value 0 = [ 4 10 | + | |
- | Test Label 0 = 20 | + | 1: Learningrate: |
- | Temps de calcul par cycle: 3.26 s | + | |
- | Meilleur résultat: learningrate=0.02495 efficacité=73.25 s | + | |
+ | 4: Learningrate: | ||
+ | | ||
+ | | ||
+ | 7: Learningrate: | ||
+ | | ||
+ | 9: Learningrate: | ||
+ | |||
+ | Initialisation | ||
+ | Création de l' | ||
+ | | ||
+ | 1: Learningrate: | ||
+ | 2: Learningrate: | ||
+ | 3: Learningrate: | ||
+ | | ||
+ | 5: Learningrate: | ||
+ | | ||
+ | | ||
+ | 8: Learningrate: | ||
+ | | ||
+ | |||
+ | Initialisation 9: | ||
+ | Création de l' | ||
+ | 0: Learningrate: | ||
+ | 1: Learningrate: | ||
+ | 2: Learningrate: | ||
+ | | ||
+ | 4: 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==== | ====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:// | * 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' | * Il n'y a pas assez de data pour l' | ||
- | * Le script fait une Optimisation des paramètres sur le Learning Rate avec 100 tests. | + | * Le script fait une Optimisation des paramètres |
- | * Mais à chaque calcul avec un nouveau learningrate, le fichier de poids est réinitialisé avec un random: il faudrait l' | + | * Cela prend beaucoup de temps, d'où la nécessité d' |
- | * Cela ferait 100*100 cycles soit 36000 secondes soit 10 heures pour un tout petit exemple. | + | |
- | * D'où la nécessité d' | + | |
===== Avec cupy ===== | ===== Avec cupy ===== | ||
+ | Voir | ||
+ | * **[[cupy_vs_numpy|Cupy: | ||
+ | * **[[installation_de_cuda|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.txt · Dernière modification : 2021/12/14 09:47 de 51.15.19.181