Several exits at Keras

I have a problem that is related to the prediction of two outputs when setting the vector of predictors. Suppose the predictor vector looks like x1, y1, att1, att2, ..., attn , where x1, y1 are the coordinates, and att's are other attributes associated with the appearance of the coordinates x1, y1 . Based on this set of predictors, I want to predict x2, y2 . This is a time series problem that I am trying to solve using multiple regression. My question is how to configure keras, which can give me 2 outputs in the last layer. I solved the problem of simple regression in keras, and the code is available on my github .

+8
python deep-learning regression neural-network keras
source share
1 answer
 from keras.models import Model from keras.layers import * #inp is a "tensor", that can be passed when calling other layers to produce an output inp = Input((10,)) #supposing you have ten numeric values as input #here, SomeLayer() is defining a layer, #and calling it with (inp) produces the output tensor x x = SomeLayer(blablabla)(inp) x = SomeOtherLayer(blablabla)(x) #here, I just replace x, because this intermediate output is not interesting to keep #here, I want to keep the two different outputs for defining the model #notice that both left and right are called with the same input x, creating a fork out1 = LeftSideLastLayer(balbalba)(x) out2 = RightSideLastLayer(banblabala)(x) #here, you define which path you will follow in the graph you've drawn with layers #notice the two outputs passed in a list, telling the model I want it to have two outputs. model = Model(inp, [out1,out2]) model.compile(optimizer = ...., loss = ....) #loss can be one for both sides or a list with different loss functions for out1 and out2 model.fit(inputData,[outputYLeft, outputYRight], epochs=..., batch_size=...) 
+12
source share

All Articles