为什么sess在培训中传递给消费者而在acccracy https://github.com/JasonPrendergast/AccuracyTestingaModel中失败
我正在进行批处理准确性测试,并遇到了错误:ValueError(“无法使用eval():No计算张量”ValueError:无法使用eval():No计算张量)。使用with sess.as_default()或将一个显式会话传递给“Use”(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)))我知道错误了
追溯(最近一次调用):文件"C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\threading.py",第914行,_bootstrap_inner self.run()文件"C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\threading.py",行862,运行self._target(*self._args,文件"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",“C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\ops.py”,第541行中,在eval返回"C:\Users\jimbob\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\ops.py",_eval_using_default_session(self,feed_dict,self.graph,session)文件的第4071行中,在_eval_using_default_session raise中(“无法使用
eval()计算张量:无缺省值”ValueError:不能使用eval():No会话计算张量)。使用with sess.as_default()或将显式会话传递给eval(session=sess)
发布于 2017-12-22 01:19:54
我已经达到了我想要的结果,用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))])))
https://stackoverflow.com/questions/47933857
复制相似问题