Comment tf.les gradients de travail dans TensorFlow
Donné que j'ai un modèle linéaire, comme le suivant, je voudrais obtenir le vecteur gradient en ce qui concerne W et b.
# tf Graph Input
X = tf.placeholder("float")
Y = tf.placeholder("float")
# Set model weights
W = tf.Variable(rng.randn(), name="weight")
b = tf.Variable(rng.randn(), name="bias")
# Construct a linear model
pred = tf.add(tf.mul(X, W), b)
# Mean squared error
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
Cependant si j'ai essayer quelque chose comme cela où le coût est fonction de la cost(x,y,w,b)
et je ne veux gradients à l'égard de w and b
:
grads = tf.gradients(cost, tf.all_variable())
Mon des espaces réservés seront également inclus (X et Y).
Même si je dois obtenir un dégradé avec [x,y,w,b]
comment puis-je savoir quel élément dans le dégradé qui appartiennent à chaque paramètre, car il est juste une liste sans noms qui paramètre le dérivé doit être prise en ce qui concerne?
Dans cette question, je suis en utilisant des pièces de cette code et je construire sur cette question.
Je suis en désaccord, il appartient ici.
Vous avez raison, j'ai été trop vite en besogne
OriginalL'auteur user3139545 | 2017-01-24
Vous devez vous connecter pour publier un commentaire.
Citant les docs pour
tf.gradients
Donc, cela devrait fonctionner:
Ici,
tf.gradients()
retourne le gradient decost
wrt chaque tenseur dans le deuxième argument est une liste dans le même ordre.Lire tf.les gradients de pour plus d'informations.
Le lien ne fonctionne plus
href="https://www.tensorflow.org/api_docs/python/tf/gradients" >tensorflow.org/api_docs/python/tf/gradients
OriginalL'auteur Priyatham