您的位置:首页 > 编程语言 > Lua

Cannot evaluate tensor using `eval()`: No default session is registered. Use `with sess.as_default()

2017-12-13 10:45 615 查看
#==================================================

for i in range(2000):  

    batch = mnist.train.next_batch(50)

    if i%100 == 0:

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

    # if i%100 == 0:  

    #     # print(batch[1].shape)  

    #     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})

    train_step.run(session=sess, 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}))

#==================================================

Extracting /home/yuan/Documents/mnist_demo/Mnist_data/train-images-idx3-ubyte.gz

Extracting /home/yuan/Documents/mnist_demo/Mnist_data/train-labels-idx1-ubyte.gz

Extracting /home/yuan/Documents/mnist_demo/Mnist_data/t10k-images-idx3-ubyte.gz

Extracting /home/yuan/Documents/mnist_demo/Mnist_data/t10k-labels-idx1-ubyte.gz

2017-12-13 10:35:54.521174: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA

2017-12-13 10:35:54.624506: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:892] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero

2017-12-13 10:35:54.624978: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties:

name: GeForce GTX 960M major: 5 minor: 0 memoryClockRate(GHz): 1.176

pciBusID: 0000:01:00.0

totalMemory: 3.95GiB freeMemory: 3.65GiB

2017-12-13 10:35:54.624993: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 960M, pci bus id: 0000:01:00.0, compute capability: 5.0)

step 0, training accuracy 0.08

step 100, training accuracy 0.84

step 200, training accuracy 0.92

step 300, training accuracy 0.94

step 400, training accuracy 0.98

step 500, training accuracy 0.96

step 600, training accuracy 0.98

step 700, training accuracy 0.94

step 800, training accuracy 0.96

step 900, training accuracy 0.94

step 1000, training accuracy 0.92

step 1100, training accuracy 0.96

step 1200, training accuracy 0.96

step 1300, training accuracy 0.92

step 1400, training accuracy 1

step 1500, training accuracy 0.94

step 1600, training accuracy 1

step 1700, training accuracy 0.98

step 1800, training accuracy 0.98

step 1900, training accuracy 0.94

Traceback (most recent call last):

  File "/home/yuan/Documents/MINIST/readMinist.py", line 69, in <module>

    x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))

  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 570, in eval

    return _eval_using_default_session(self, feed_dict, self.graph, session)

  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 4441, in _eval_using_default_session

    raise ValueError("Cannot evaluate tensor using `eval()`: No default "

ValueError: Cannot evaluate tensor using `eval()`: No default session is registered. Use `with sess.as_default()` or pass an explicit session to `eval(session=sess)`
[Finished in 28.7s]

上述问题的解决办法就是:将下面的程序:

print("test accuracy %g"%accuracy.eval(feed_dict={  

    x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))

改为;

print("test accuracy %g"%accuracy.eval(session=sess,feed_dict={  

    x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐