【问题标题】:TensorFlow Error found in Tutorial教程中发现 TensorFlow 错误
【发布时间】:2015-11-18 16:57:38
【问题描述】:

我还敢问吗?在这一点上这是一项新技术,以至于我找不到解决这个看似简单的错误的方法。我正在学习的教程可以在这里找到-http://www.tensorflow.org/tutorials/mnist/pros/index.html#deep-mnist-for-experts

我确实将所有代码复制并粘贴到 IPython Notebook 中,最后一段代码出现错误。

# To train and evaluate it we will use code that is nearly identical to that for the simple one layer SoftMax network above.
# The differences are that: we will replace the steepest gradient descent optimizer with the more sophisticated ADAM optimizer.

cross_entropy = -tf.reduce_sum(y_*tf.log(y_conv))
train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
sess.run(tf.initialize_all_variables())
for i in range(20000):
    batch = mnist.train.next_batch(50)
    if i%100 == 0:
        train_accuracy = accuracy.eval(feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0})
    print "step %d, training accuracy %g"%(i, train_accuracy)
    train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})

print "test accuracy %g"%accuracy.eval(feed_dict={
    x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})

运行此代码后,我收到此错误。

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-46-a5d1ab5c0ca8> in <module>()
     15 
     16 print "test accuracy %g"%accuracy.eval(feed_dict={
---> 17     x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})

/root/anaconda/lib/python2.7/site-packages/tensorflow/python/framework/ops.pyc in eval(self, feed_dict, session)
    403 
    404     """
--> 405     return _eval_using_default_session(self, feed_dict, self.graph, session)
    406 
    407 

/root/anaconda/lib/python2.7/site-packages/tensorflow/python/framework/ops.pyc in _eval_using_default_session(tensors, feed_dict, graph, session)
   2712     session = get_default_session()
   2713     if session is None:
-> 2714       raise ValueError("Cannot evaluate tensor using eval(): No default "
   2715                        "session is registered. Use 'with "
   2716                        "DefaultSession(sess)' or pass an explicit session to "

ValueError: Cannot evaluate tensor using eval(): No default session is registered. Use 'with DefaultSession(sess)' or pass an explicit session to eval(session=sess)

我认为我可能需要通过 conda install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl 安装或重新安装 TensorFlow,但 conda 甚至不知道如何安装它。

有人知道如何解决这个错误吗?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    我想通了。正如您在值错误中看到的那样,它显示No default session is registered. Use 'with DefaultSession(sess)' or pass an explicit session to eval(session=sess),所以我想出的答案是将显式会话传递给 eval,就像它说的那样。这是我进行更改的地方。

    if i%100 == 0:
            train_accuracy = accuracy.eval(session=sess, feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0})
    

    train_step.run(session=sess, feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
    

    现在代码运行正常。

    【讨论】:

    • 或者你可以只创建会话,sess=tf.InteractiveSession,然后删除“session=sess”参数,它会默认使用你创建的会话
    【解决方案2】:

    我在尝试一个简单的 tensorflow 示例时遇到了类似的错误。

    import tensorflow as tf
    v = tf.Variable(10, name="v")
    sess = tf.Session()
    sess.run(v.initializer)
    print(v.eval())
    

    我的解决方案是使用 sess.as_default()。例如,我将我的代码更改为以下代码并且它有效:

    import tensorflow as tf
    v = tf.Variable(10, name="v")
    with tf.Session().as_default() as sess:
      sess.run(v.initializer)      
      print(v.eval())
    

    另一种解决方案是使用 InteractiveSession。 InteractiveSession 和 Session 之间的区别在于 InteractiveSession 将自己设为默认会话,因此您可以 run() 或 eval() 而不显式调用会话。

    v = tf.Variable(10, name="v")
    sess = tf.InteractiveSession()
    sess.run(v.initializer)
    print(v.eval())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 2018-05-21
      • 2018-10-03
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多