Flask+tensorflow进行验证码识别时提示 The Session graph is empty.

  • 项目在本地跑的时候不会报错,但是放到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

你可能感兴趣的:(Flask+tensorflow进行验证码识别时提示 The Session graph is empty.)