因为用到了TensorFlow,需要开一个工作线程去进行计算与识别。
重点来了,TensorFlow的session在不同线程中会出问题,子线程会找不到主线程的graph,所以,如果用到了多线程,工作线程进行TensorFlow的东西,尽量把TensorFlow所有东西都整到子线程里(尤其是模型加载还有关于识别时声明的东西,主线程初始化别初始化这些,交给子线程);而且子线程别死,如果下次计算换了线程那么上次在子线程的sess会死,这样graph又没了,又会报错。以上就是个人经历所得,如有错误请更正!
错误截图和信息差不多忘了,不是说sess没有graph就是说貌似什么value fetch error的(我记得是什么tf.Tensor 和Tensor Tensor不匹配,好奇怪)。