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模型构建的主要内容,如果未能解决你的问题,请参考以下文章
keras构建前馈神经网络(feedforward neural network)进行多分类模型训练学习
Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接验证集)及效果可视化