python - 如何训练具有 2D 输出的网络? ( python ,凯拉斯)

标签 python neural-network regression keras

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

 [x1,y1,x2,y2] 

或者有没有办法将它们堆叠起来,例如:

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

提前致谢

最佳答案

RepeatVector 就是用于此目的(请参阅 Keras 文档)。

您希望输出形状为 (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 数组,为您提供所需的输出形状。请注意,您的训练数据(标签)也必须由形状 (2, 2) 数组组成。

关于python - 如何训练具有 2D 输出的网络? ( python ,凯拉斯),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41006159/

相关文章:

python - 根据其他列更改数据框中每一行的列

python - 如何针对我的 keras 训练模型运行测试数据?

matlab - RANSAC 多元回归

python - 遍历 Django 模板中的对象列表

Python:重新查找两次的最快方法?

python - 如何在Python中的无限循环中每X次调用一次函数?

artificial-intelligence - 弹性反向传播中的错误?

machine-learning - 激活函数之前对数据进行归一化

r - 分配损失时如何解释 rpart(方法 ="class")的 xerror

python - 如何使用 matplotlib 可视化模型性能和 alpha 的依赖性?