gpt4 book ai didi

python - 将keras api用于具有相同目标值的多输出模型

转载 作者:行者123 更新时间:2023-11-28 17:04:33 24 4
gpt4 key购买 nike

在根据 https://keras.io/models/model/ 的多输入或多输出模型的情况下, 可以使用

model = Model(inputs=a1, outputs=[b1, b2])

如果 b1 和 b2 实际上是相同的目标值怎么办? IE。经过几个初始层后,模型有两个独立的“分支”,每个都应该给出相同的值。下面是非常简单的例子

a  = Input(shape=(32,))
b1 = Dense(32)(a)
b2 = Dense(32)(a)

model = Model(inputs=a, outputs=[b1,b2])

是否有比复制目标值更好/更好的拟合方法?

model.fit(x_train, [y_train, y_train])

此外,如果在拟合期间(仅)需要真实标签(y_train),可以像这样使用它们

model.fit([x_train,y_train], [y_train, y_train])

有没有更好的解决办法?另外,如何处理预测?

model.predict([x_test, y_test_fake_labels])

最佳答案

首先是预测函数:model.predict(X) 将在您的案例中返回一个 numpy 数组列表。我认为您有点将 tensorflow 的 session.run() 与 keras 混淆了。对于单输入和多输出,使用 model.fit(X,[y1,y2])。

我假设您使用的是 Keras 的 tensorflow 后端。在我看来,Keras 可以说拥有最好的 API 和语法。与 tf.learn、slim 等相比,它简单易学。尽管它在后台运行 tensorflow,但与使用纯 tensorflow 运行图形相比,它非常慢。因此,我有时使用的一个小技巧是使用 keras 定义模型架构,然后使用 keras.backend.get_session().graph 从 keras 获取纯 tensorflow 图并使用 slim 或 tf.learn 进行训练/推断你的模型。因此,您正在使用两个世界中最好的。从句法上讲,这开辟了很多训练/推断模型的方法。

关于python - 将keras api用于具有相同目标值的多输出模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51911751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com