关于keras和tensorflow多模型线上混用模型需要注意的

问题:当需要把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():

搞定!

你可能感兴趣的:(Python)