我的问题是使用 mobilenet SSD 检测对象,然后使用在 Keras 中训练的 CNN 分类器从边界框读取数据。每次获得边界框后,都必须使用 CNN 分类器进行评估。在引用 git 和 stack 中的问题数量时,我开始编写自己的编码。但是在使用 tf.reset_default_graph() 重置 tf 图并从 keras 加载 .h5 后,它会引发错误为
"ValueError:
Tensor("loss/dense_6_loss/Const:0", shape=(),
dtype=float32) must be from the same graph as
Tensor("truediv_19:0", shape=(?, 36),
dtype=float32)."
我正在通过 Keras 和 Tensorflow 作为后端执行实例检测和图像检索任务。
show:ValueError: 张量 a 必须与张量 b 来自同一图。
代码如下:
Merge.py
from keras import backend as K
g1=tf.Graph()
g2=Graph()
sess1=tf.Session(graph=g1)
sess2=Session(graph=g2)
def intiMaskrcnn():
with g1.as_default():
with sess1.as_default():
Model1=........
tf.rest_defaut_graph()
def instanceDetect():
K.set_session(sess1)
with g1.as_default():
Model1.predit()
............
k.clear_session()
def intiMobilenet():
with g2.as_default():
with sess2.as_default():
Model2=........
def Retrieval():
K.set_session(sess2)
with g2.as_default():
Model2.predit()
............
我需要知道是否可以同时将 tf 和 Keras 集成到一个管道中……如果可能的话怎么做?提前谢谢
相关分类