Season 1 아카이브/프로그래밍
                
              텐서플로우 코드 에러 - Cannot evaluate tensor using `eval()`
                문장전달자
                 2016. 10. 30. 02:58
              
              
                    
        728x90
    
    
  Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러
value error 가 발생하는 경우
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  | 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}) ------------------------------------------------------------------------- ValueError                              Traceback (most recent call last) <ipython-input-21-ea20ade49f79> in <module>()       2     batch = mnist.train.next_batch(50)       3     if i%100 == 0: ----> 4         train_accuracy = accuracy.eval(feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0})       5         print "step %d, training accuracy %g" % (i, train_accuracy)       6     train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5}) /root/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.pyc in eval(self, feed_dict, session)     553      554     """ --> 555     return _eval_using_default_session(self, feed_dict, self.graph, session)     556      557  /root/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.pyc in _eval_using_default_session(tensors, feed_dict, graph, session)    3482     session = get_default_session()    3483     if session is None: -> 3484       raise ValueError("Cannot evaluate tensor using `eval()`: No default "    3485                        "session is registered. Use `with "    3486                        "sess.as_default()` or pass an explicit session to " 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)`  | cs | 
아래와 같이 명시적으로 세션을 넘긴다. 
1 2 3 4 5 6  | if i%100 == 0:         train_accuracy = accuracy.eval(feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0}) if i%100 == 0:         train_accuracy = accuracy.eval(session=sess, feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0})  | cs | 
728x90