我在张量流会话中加载了张量流模型。我需要在Web服务器上执行此模型以参加Web请求。我正在使用Flask框架。
由于模型加载和会话创建需要一些时间,我想重用创建的tensorflow会话。
我尝试将其保存在每个用户的会话变量中,但是tensorflow会话不可序列化并且不起作用。
我想到的其他事情是创建一个单独的套接字来参与请求并保持会话在无限循环中打开,但我需要做一些额外的管理来使mi ajax调用工作在与端口不同的端口上80,我猜......
这是我用来创建会话的代码:
import tensorflow as tf
def createGraph():
with tf.gfile.FastGFile('graph.pb', 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')
def createTfSession():
createGraph(appRootPath)
return tf.Session()
我想获得一个解决方案,使其在Web应用程序内部工作,但是如果不可能有任何帮助,也可以使用80以外的其他端口进行ajax调用
谢谢
更新:我尝试了重复问题的解决方案,但它失败并出现类似的错误,说张量流会话不可序列化:
无法播放的讯息:(' #RETURN', tensorflow.python.client.session.Session对象位于0x7fc9742f1050>)