我正在创建一个Flask应用程序,我只想使用其变量恢复一次tensorflow会话,并在各种路径上使用它来进行预测,但它似乎不起作用。我创建了一个其构造函数恢复了交互式会话的类作为变量,该类还包含一个名为predict的函数,该函数尝试使用构造函数中描述的交互式会话来预测结果。以下代码是我初始化要在所有路由之间共享的对象的方法。
class MyServer(Flask):
def __init__(self, *args, **kwargs):
super(MyServer, self).__init__(*args, **kwargs)
self.testClass=TestClass()
app = MyServer(__name__)
这是我使用的路线的一个例子
@app.route('/')
def index():
size_dict=app.testClass.test(saveName)
return jsonify(size_dict)
但这会引发以下错误
ValueError: Variable Net_WT/block1/bn does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=tf.AUTO_REUSE in VarScope?
但是如果我初始化对象并在相同的路径中使用它,那么它会起作用
答案 0 :(得分:0)
我不想回答自己的问题,但找到了解决方案,在TestClass的构造函数中,我在还原会话和变量后添加了self.graph = tf.get_default_graph()
。