Keras 多输入、多输出、多loss模型构建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras 多输入、多输出、多loss模型构建相关的知识,希望对你有一定的参考价值。

参考技术A https://blog.csdn.net/AZRRR/article/details/90380372

开始训练,loss中的对应关系是:
推理输出out1与y_true_1算cc3D_loss,推理输出out2与y_true_2算gradientloss。
而模型的两个输入img、tgt对应的分别是数据x1,x2。

Keras的数据生成器每次生成并返回的必须是一个tuple,而python函数返回的 x,y会被默认包装为tuple。

因此单输入单输出的模型,数据生成器每次可以

或者,当有多输入多输出时:

每次返回的x1,....,xn都会被自动喂入model.input中,故长度必须一致。之后模型进行推理,根据model.output获取m个output推理值,每一个output都会去调用相应的loss函数,并去获取得到对应的真实的label值,进行loss的计算。因此有m个label,对应了m个model的output数,对应了loss的数目。

也可以使用dict包裹:

以上是关于Keras 多输入、多输出、多loss模型构建的主要内容,如果未能解决你的问题,请参考以下文章

深度学习笔记34_函数式API之多输出模型构建

Keras深度学习实战(35)——构建机器翻译模型

keras构建前馈神经网络(feedforward neural network)进行多分类模型训练学习

Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接验证集)及效果可视化

用于多类分类问题的 Keras 输出层,取值范围为 -128 到 127

如何使用keras评估多类分类的结果?