我的问题是使用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集成到一个管道中。如果可能的话,如何做?
答案 0 :(得分:0)
这有助于我在tensorflow SSD对象检测中运行keras模型。
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>