路缘石中的多个输出

2024-09-19 21:01:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,当给定一个预测向量时,预测两个输出。 假设一个预测向量看起来像x1, y1, att1, att2, ..., attn,它表示x1, y1是坐标,而att's是附加到x1, y1坐标出现的其他属性。基于这个预测集,我想预测x2, y2。这是一个时间序列问题,我试图用多元回归来解决。 我的问题是如何设置keras,它可以在最后一层给我2个输出。我已经在keras中解决了简单的回归问题,代码可以在my github中使用。


Tags: 代码属性时间序列向量attkerasx1
1条回答
网友
1楼 · 发布于 2024-09-19 21:01:19
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=...)

相关问题 更多 >