我正在尝试使用tf.contrib.learn.DNNRegressor
来建模多输入多输出系统。我已经关注了Tensorflow网站上的Boston DNNRegressor example,但是当我尝试将2个输出的数组传递给回归量拟合器时,我得到了
raise ValueError("Shapes %s and %s are incompatible" % (self, other))
ValueError: Shapes (100, 1) and (100, 2) are incompatible
我发现this post 1月份没有回复,所以其他人似乎遇到了这个问题。
我可以想象为每个输出使用多个DNNRegressors,但是可以在Tensorflow中使用单个DNNRegressor
预测多个输出吗?
我在Ubuntu 16.04上运行Tensorflow 1.2.1。
答案 0 :(得分:2)
这可能为时已晚,但是当前的turn_graph = tf.Graph()
posn_graph = tf.Graph()
with turn_graph.as_default():
from models import inception_v3 as googlenet
turn_model = googlenet(227,227,3,1.0e-3,output=4)
turn_model.load('turn_model_01')
with posn_graph.as_default():
from models import inception_v3 as googlenet
posn_model = googlenet(227,227,3,1.0e-3,output=4)
posn_model.load('posn_model_01')
## Other code
while True :
posn_model.predict([image])
turn_model.predict([image])
有一个参数tf.estimator.DNNRegressor
可以满足您的需求。
label_dimension
就我而言,这完美地处理了两个输出