CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

TensorFlow Python

Kaori-Miyazono
Kaori-Miyazono
Niveau 10
24 août 2018 à 19:44:47

Salut je test TensorFlow Python en ce moment et j'ai copier-coller un programme d'un tuto sauf que je retrouve pas le tuto et du coups je comprends rien au code genre je sais pas a quoi il sert , quelqu'un pourrait m'expliquer ? :question:
Je pensais au début que je devais mettre n'importe quelle chiffre en entrée et en sortie ca me sort l'un des y sauf que si je met genre 71-72-73-74 a la place de 1 2 3 4 pour x bah en sortie ca me met NaN NaN NaN NaN :(

Message édité le 24 août 2018 à 19:45:45 par Kaori-Miyazono
Kaori-Miyazono
Kaori-Miyazono
Niveau 10
24 août 2018 à 19:45:26
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import numpy as np
import tensorflow as tf


x = tf.constant([[1], [2], [3], [4]], dtype=tf.float32)
y_true = tf.constant([[0], [-1], [-2], [-3]], dtype=tf.float32)

linear_model = tf.layers.Dense(units=1)

y_pred = linear_model(x)
loss = tf.losses.mean_squared_error(labels=y_true, predictions=y_pred)

optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)

init = tf.global_variables_initializer()

sess = tf.Session()
sess.run(init)
for i in range(1000):
  _, loss_value = sess.run((train, loss))

print(sess.run(y_pred))
Kaori-Miyazono
Kaori-Miyazono
Niveau 10
24 août 2018 à 19:48:01

Ah et si quelqu'un sait aussi a quoi sert le:
_,
Je suis preneur parceque je l'ai déja vu dans des tuto python mais c'etait jamais expliqué :-(

_S0uL
_S0uL
Niveau 9
24 août 2018 à 20:08:23

Je vais répondre à ta deuxième question et je pense que des gens pourront expliquer le code mieux que moi (j'avoue que j'ai un peu la fleme de tout lire). La fonction run[1] de la classe Session renvoie un objet du même type que tu lui passe un argument. En l'occurence tu lui passe un tuple (train, loss). Donc tu récupère ces deux valeurs en retour que tu stock dans des variable. Par convention, si tu ne compte pas utiliser une valeur plus tard mais que tu la récupère quand même via un appel à une fonction par exemple, tu "stock" cette valeur dans une variable spéciale _. Cela signifie que tu ignore la variable.

[1] https://www.tensorflow.org/api_docs/python/tf/Session#run

blackapplex
blackapplex
Niveau 10
24 août 2018 à 20:58:27

Le code est plutôt simple dans sa conception. Je pense que ce que tu dois comprendre c'est surtout le fonctionnement de tensorflow.
Je sais pas où tu en es donc je vais faire court:
- L'objectif de l'application est de créer un graph d'opération
- Quand on appelle sess.run, on lance les opérations du graphe
- Souvent, tensorflow est utilisé avec un optimizer, l'optimizer a une fonction de minimisation qui fera varier les variables par descente de gradient en fonction de leur influence sur le résultat à minimiser

Une fois qu'on sait ça. T'as des entrées (x), et des sorties (y), t'appliques un layer dense (qui contient implicitement des variables que sont les poids) pour prédire les y à partir des x (y_pred = f(x)), tu calcules l'écart entre la prédiction et la réalité (la loss), tu minimises la loss via l'optimizer et tu calcules les deux avec sess.run. Le retour de minimize() a pas d'importance (cf la doc), on affiche juste la loss pour vérifier qu'elle descend et que le réseau converge.
C'est un exemple trivial mais pertinent.
Je te renvoies à la documentation et à stackoverflow pour toutes les fonctions dans le détail.

blackapplex
blackapplex
Niveau 10
24 août 2018 à 21:04:36

Et pour répondre à ton " 71-72-73-74 ", faudrait analyser précisément l'application pour voir ce qui ne va pas (peut-être un soucis de normalisation des inputs)

Kaori-Miyazono
Kaori-Miyazono
Niveau 10
25 août 2018 à 18:00:01

Ahh okais :cimer:
Merci a vous deux :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment