【问题标题】:ValueError("Cannot evaluate tensor using `eval()`:ValueError("无法使用 `eval()` 评估张量:
【发布时间】:2018-06-04 15:44:39
【问题描述】:

为什么 sess 在训练中传递给消费者,但在 eval() 中却失败了 https://github.com/JasonPrendergast/AccuracyTestingaModel

我正在执行批处理精度测试并遇到错误:ValueError("Cannot evaluate tensor using eval(): No default" ValueError:无法使用 eval() 评估张量:未注册默认会话。使用with sess.as_default() 或将显式会话传递给`eval(session=sess)

我一直在使用线程进行培训,并且将会话作为 sess 传递给消费者类没有问题,如下所示:

_, c = self.sess.run([self.optimizer, self.cost], feed_dict={x: np.array(batch_x),y: np.array(batch_y)})

运行良好,我可以使用消费者类生成我的模型。但是当我尝试运行时:

result = (self.sess.run(tf.argmax(self.prediction.eval(feed_dict={x:[np.array(batch_x)]}),1)))

我得到了错误

Traceback(最近一次调用最后一次): _bootstrap_inner 中的文件“C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\threading.py”,第 914 行 自我运行() 文件“C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\threading.py”,第 862 行,运行中 self._target(*self._args, **self._kwargs) 文件“D:/mine/jobs_network/NN_size_10k_batch/testAcc2_threads.py”,第 198 行,运行中 结果 = (self.sess.run(tf.argmax(self.prediction.eval(feed_dict={x:[np.array(batch_x)]}),1))) 文件“C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\ops.py”,第 541 行,在 eval return _eval_using_default_session(self, feed_dict, self.graph, session) _eval_using_default_session 中的文件“C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\ops.py”,第 4071 行 raise ValueError("无法使用eval()评估张量:没有默认值" ValueError:无法使用 eval() 评估张量:未注册默认会话。使用with sess.as_default() 或将显式会话传递给eval(session=sess)

【问题讨论】:

  • result = (sess.run(tf.argmax(prediction.eval(feed_dict={x:[features]}),1))) 当我没有线程时正在工作

标签: python multithreading tensorflow


【解决方案1】:

通过将result = (self.sess.run(tf.argmax(self.prediction.eval(feed_dict={x:[np.array(batch_x)]}),1))) 替换为我已经达到了我想要的结果 result=self.prediction.eval(session = self.sess,feed_dict={x: np.array(batch_x)}) result= np.array(result) outputarray.append(str((labellexicon[int(np.argmax(result))])))

【讨论】:

    猜你喜欢
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2019-01-26
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多