- 项目在本地跑的时候不会报错,但是放到Flask上之后,会提示 The Session graph is empty
- 去网上查资料:一般出现The Session graph is empty.得到的解决方案大多是:
global graph
graph = tf.get_default_graph()
with graph.as_default():
with tf.Session() as sess:
...
sess.run(...)
...
但并没有解决问题
- 在查了众多资料后,问题照旧
- 在排查过程中,得到了一个关键的信息。需要关闭Flask的debug模式,具体原因是因为开启Debug模式,会额外启动一个线程,造成The Session graph is empty.这个问题(这是解决该问题的一个重点)
# 关闭debug模式,将debug=True改为debug=False即可
app.run(host='127.0.0.1', port=8666, debug=False)
- 改完debug模式后,问题照旧。我思考了一下,程序在本地可以照常运行,放到Flask上出现问题。会不会是Flask版本的问题,于是我将Flask版本降到了0.12.2。问题解决。
pip install Flask==0.12.2