keras在多线程环境下部署的错误:Not an element of tensor graph

在用Django等工具对keras模型进行部署时,因为多线程原因,模型总是不能正确执行

错误提示:

TypeError: Cannot interpret feed_dict key as Tensor: Tensor Tensor(“Placeholder:0”, shape=(2004, 256), dtype=float32) is not an element of this graph

错误原因

恢复模型的线程和预测时的线程不一致,导致graph不一样,

解决办法

1.在恢复模型时保存此时的graph,

self.model.load_weights(model_dir)
self.graph = tf.get_default_graph()

2.在预测时用这个graph作为default graph

with self.graph.as_default():
    self.model.predict([x])

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝/微信扫一扫,即可进行扫码打赏哦