问题:当需要把keras和tenorflow在生产环境进行合并的时候.需要注意的. 假如报错为
Tensor XXXX is not an element of this graph
解决方案:
如果是用tensroflow写的model.一般来说每个model有自己的session 和 graph.
但是在keras. 会经常忽略掉session 和 graph.这时候需要 添加session和在好几个地方加graphwith语句,由于真实代码太复杂,写伪代码举例子吧:
seg_graph = tf.Graph()
sess = tf.Session(graph=seg_graph)
K.set_session(sess)
#保证代码
with seg_graph.as_default():
self.keras_model = self.build(mode=mode, config=config)
#上面一行代码会调用KM.Model
以及这类函数
topology.load_weights_fromXXX()
以及predict函数
线上环境就这三次需要增加with seg_graph.as_default():
搞定!