Tornado运行tensorflow卡死问题分析

在网上看到有人成功运行了tornado+tensorflow。但是看代码发现,那种运行时比较低效率的。每一个request都要重新建立一次session。

我新建了全局session然后。各个进程就可以fork。然后session run就可以了。不用每次都重建。
但是却发现了大问题。程序运行出现了 死 锁 死锁
通过python gdb进行跟踪,发现死锁在sess.run
通过一下两种说法。
https://github.com/tensorflow/tensorflow/issues/16969
https://github.com/tornadoweb/tornado/issues/2115
可以知道。tf.session不是fork-safe的库。在线程环境下可以,在多进程的情况下就不行了。
第一个最后结论说在python3.6.5上,可以修复死锁问题。但是经过实验,发现仍然死锁。

最终结论:要直接使用tornado做并使用session,模型高并发,看来不太可能了。需要换一种对tensorflow模型进行加载的方式!!!

你可能感兴趣的:(深度学习相关)