LSTM多任务学习功能API keras

时间:2020-09-13 13:02:04

标签: python tensorflow keras lstm

我有2个训练值X_data,B_data。我想要2个共享的lstm层来预测X_data和B_data的2个输出

l1 = layers.LSTM(40)(X_data)
flat_layer = Flatten()(l1)
l2 = layers.LSTM(20)(B_data)
flat_layer2 = Flatten()(l2)


output1 = Dense(1, activation='sigmoid')(flat_layer)
output2 = Dense(1, activation='sigmoid')(flat_layer2)

model = keras.Model(inputs=[X_data,B_data], outputs=[output1,output2])

我接受这个错误 AttributeError: Tensor.op is meaningless when eager execution is enabled. 有什么建议吗?

2 个答案:

答案 0 :(得分:1)

错误是 private List<V1Deployment> UpdateImageTag(string imageName, string tag, List<V1Deployment> deployments) { if (deployments == null) { return new List<V1Deployment>(); } var imageNameLower = imageName.ToLowerInvariant(); var matches = deployments .Select(deployment => KeyValuePair.Create( deployment, deployment.Spec?.Template?.Spec?.Containers .Where(c => !c.Image.ToLowerInvariant().StartsWith(imageNameLower)))) .Where(kvp => kvp.Value != null) .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); foreach (var container in matches.Values.SelectMany(x => x)) { SetImageTag(tag, container); } return matches.Keys.ToList(); } 不接受输入数据,而是接受输入 layer (就像您正确使用keras.Model(inputs)一样) 。数据通过outputs传递。因此,首先,您需要两个model.fit()层:

Input

答案 1 :(得分:0)

enter image description here

我的数据框就是这样,我转换为输入数据

trainxx=np.array(trainn3)
X_data = trainxx.reshape((trainxx.shape[0], 1, trainxx.shape[1]))

y值为numpy数组

ytrainxx=np.array(ytrains)

您的输入解决方案我无法转换