一个问题关于与多个输出keras回归:Keras回归多个输出
你能解释一下beteween这个网的区别:
两个输入 - >两个输出
input = Input(shape=(2,), name='bla')
hidden = Dense(hidden, activation='tanh', name='bla')(input)
output = Dense(2, activation='tanh', name='bla')(hidden)
和:两个单输入 - >两个单输出:
input = Input(shape=(2,), name='speed_input')
hidden = Dense(hidden_dim, activation='tanh', name='hidden')(input)
output = Dense(1, activation='tanh', name='bla')(hidden)
input_2 = Input(shape=(1,), name='angle_input')
hidden_2 = Dense(hidden_dim, activation='tanh', name='hidden')(input_2)
output_2 = Dense(1, activation='tanh', name='bla')(hidden_2)
model = Model(inputs=[speed_input, angle_input], outputs=[speed_output, angle_output])
它们的行为非常相似。其他时候,我完全把它们分开,那么这两个网就像他们应该做的那样。
这是正常的,两个单输出网的行为比两个输出的更大的一个更容易理解,我不认为差异可能是巨大的,就像我经历过的。
非常感谢:)
非常感谢您抽出宝贵时间:) So Keras在第二个例子中完全分离了这两个网络吗?两个独立建构和学习网(两种不同的脚本)和这个选项之间的区别在哪里? – Asdf11
要回答你的第一个问题,不,不是。这两个网络仍然在同一个模型对象中,但在计算上它们完全不相关。 –
有2个不同的模型对象的区别是,现在你必须在同一时间和相同数量的例子进行训练。一方面,这有点不方便。但让我们说,如果你的问题总是需要两个网络的输出,你可以通过训练和并排运行来节省时间和内存。 –