如何用2D输出训练网络? (蟒,Keras)

时间:2016-12-06 22:32:15

标签: python neural-network regression keras

我想训练一个回归网络,其输出是两个坐标(x1,y1)和(x2,y2)。 我的问题是:如果我想训练网络,我的输出应该分开吗? 我的意思是我的输出应该是这样的:

 [x1,y1,x2,y2] 

还是有办法将它们堆叠起来:

[(x1,y1),(x2,y2)]

提前致谢

1 个答案:

答案 0 :(得分:1)

public class CashFactoryA extends Factory { public Callback<Void, Payment> getPaymentCallback() { return new Callback<Void, Payment>(){ @Override public Payment call(Void param) { return CustomerA.payWithCash(); } }; } } 就是为了这个目的(参见Keras文档)。

您希望输出形状为RepeatVector,或两个坐标的数组,每个坐标有两个条目。

(2, 2)

添加图层以处理网络输入后,添加num_outputs = 2 num_elements = 2 。这样就可以获得一组数据作为输出。最后一层需要输出RepeatVector,例如:

num_elements

简而言之,重复向量将前一层的内容复制到其他节点,每个路径将输出一个model.add(RepeatVector(num_outputs)) # Optional layers can be inserted here model.add(Dense(num_elements)) 数组,为您提供所需的输出形状。请注意,您的训练数据(标签)也必须包含形状num_elements数组。