【发布时间】:2021-04-06 09:15:51
【问题描述】:
我正在尝试使用 Keras 的功能 api 来构建具有多个输入和单个输出的模型。
目标是结合每个输入的每一行来预测相应的输出(1 或 0)。
例如concatenate(inputs_1[0], and inputs_2[0]) 和预测输出outputs[0]
我的数据结构是这样的:
inputs_1 = [[[-18.73, 8.98, 0.29, 0.23],[58.50, 28.31, 45.89, -1.62], [48.70, 21.31, 25.89, 1.62]],
[[-18.73, 8.98, 0.29, 0.65],[58.50, 28.31, 45.89, -1.62], [48.70, 21.31, 25.89, 1.62]],
[[-18.73, 8.98, 0.29, 9,3],[58.50, 28.31, 45.89, -1.62], [48.70, 21.31, 25.89, 1.62]],
...
[[-18.73, 8.98, 0.29, 8.93],[58.50, 28.31, 45.89, -1.62], [48.70, 21.31, 25.89, 1.62]]]
inputs_2 = [[[0.29, 0.23], [28.31, -1.62]],
[[8.98, 0.65], [21.31, 1.62]],
[[18.50, -1.62], [25.89, 1.62]],
...
[[-48.73, 8.98], [48.70, 1.62]]]
outputs = [1,
1,
0,
...
0]
我在构建模型时遇到了一些困难,当我想重塑数据时会出现第一个困难。
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
# scale our data set so that every observation is between 0 and 1
training_data = scaler.fit_transform(inputs_1.reshape(-1, 1))
但是list对象没有reshape属性
我已阅读此functional api doc,但对我没有多大帮助。
但是,我现在知道我将通过串联将所有可用特征合并到一个大向量中。如何处理这些嵌套数组?
另一个困难是将数据拆分为训练、验证和测试。 Articles 我发现它基于单个输入数据。有没有办法吐出多个数据输入?
如何定义层,以便在这种情况下构建模型?
我如何使用 api 来构建我的模型?
欢迎任何提示或模型的骨架。
提前谢谢你。
【问题讨论】:
标签: python tensorflow keras jupyter-lab functional-api