#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:
import tensorflow as tf
x = tf.placeholder(dtype=tf.float32, shape=[2])
loss = tf.reduce_sum(tf.square(x))
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)
init = tf.global_variables_initializer()
with tf.Session() as sess:
session.run(init)
for i in range(10):
sess.run(train_op)
print x.eval(), loss.eval()
Ich habe den obigen Code. Als ich es ausführte, bekam ich den folgenden Fehler. Ich möchte x
optimieren. Ich verstehe nicht, warum es sagt, dass es keine zu optimierende Variable gibt. Könnte jemand mir helfen zu verstehen, was falsch ist und wie man GradientDescentOptimizer
richtig verwendet? Vielen Dank.Wie verwende ich GradientDescentOptimizer?
$ ./main.py
Traceback (most recent call last):
File "./main.py", line 8, in <module>
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)
File "/usr/local/lib/python2.7/site-packages/tensorflow/python/training/optimizer.py", line 343, in minimize
grad_loss=grad_loss)
File "/usr/local/lib/python2.7/site-packages/tensorflow/python/training/optimizer.py", line 408, in compute_gradients
raise ValueError("No variables to optimize.")
ValueError: No variables to optimize.
x ist nur ein Platzhalter. Sie müssen Daten wie ein numpiges Array in x eingeben. – Moondra
Sie geben im 'sess.run()' Teil keinen Wert für 'x' ein. Wenn es keinen Wert gibt, was würde der Gradientenabstieg optimieren? – Nain